0
У меня есть это:filteredArrayUsingPredicate поднимает EXC_BAD_ACCESS на iPhone5 не на iphone6
// self.theWholeEventsArray is NSMutableArray * populated properly after segue
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy/MM/[email protected]:mm"];
NSDate *startDate = [dateFormatter dateFromString:@"2015/05/[email protected]:00"];
NSDate *endDate = [dateFormatter dateFromString:@"2015/06/[email protected]:00"];
NSPredicate *tmpPred = [NSPredicate predicateWithFormat:@"(%K => %@) AND (%K =< %@)", @"dateOfTheEvent", startDate, @"dateOfTheEvent", endDate];
NSArray *selectedDateArray = [self.theWholeEventsArray filteredArrayUsingPredicate:tmpPred];
Он отлично работает на iphone6 и IPad, но падает с EXC_BAD_ACCESS кодом = 1 на iPhone5 и iPhone4S. Я тоже вижу проблему с симулятором и устройством. Кто-нибудь может объяснить мне, почему и как решить эту проблему?
Привет, он отлично работает в симуляторе iPhone5. Не могли бы вы вставить здесь полную ошибку. – iDeveloper
Я добавил поддержку NSZombieEnabled, и я получаю эту ошибку: 2015-05-06 12: 49: 10.542 tjf [9012: 193121] *** - [__ NSDate compare:]: сообщение отправлено на освобожденный экземпляр 0x786e96c0. Я не могу понять, какой объект 0x786e96c0. Очевидно, он меняется каждый раз ... – scsedel
Я не уверен, почему это происходит на некоторых устройствах, а не на других, если iOS не запускает предупреждения о памяти на более низких устройствах с меньшим количеством mem. Сообщение о сбое ясно: кажется, что где-то в вашем массиве объекты 'NSDate' выпускаются до того, как они будут. Я предполагаю, что у вас есть загрузка пользовательских объектов 'Event', у которых есть свойство date? Если да, то сколько вы храните в памяти в любой момент? –