Я получаю сбой в приложении iOS 7 со следующей ошибкой:
-[NSError release]: message sent to deallocated instance 0x3c443fe0
Ошибка инициируется, когда я добавляю вызов следующего метода:
-(void)loadMessages:(NSString*)customerUID {
NSString *formatUID = [NSString stringWithFormat:@"%s%@%s", "'", customerUID, "'"];
formatUID = [formatUID stringByReplacingOccurrencesOfString:@"'" withString:@"%27"];
NSString *servicePath = [NSString stringWithFormat:@"/api/messagerecipient?messageid=null&customeruid=%@", formatUID];
[[RKObjectManager sharedManager] getObjectsAtPath:servicePath parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *messagesResult)
{
NSArray *messageResults = messagesResult.array;
if (messageResults != nil || [messageResults count] != 0)
{
//Add some code here
}
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"An Error Has Occurred" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertView show];
}];
}
Я добавил несколько точек останова в код в разных точках, и он не возвращает никаких сведений об ошибке. Кроме того, ничто в журнале консоли не указывает, в чем проблема (я добавил полное ведение журнала RestKit), только приведенное выше сообщение о выпуске NSError
.
Я также запустил сканирование зомби в «Инструментах». Он показывает следующее.
Я сбит с толку, потому что это показывает, что зомби создается вызовом GSEventRunModal
. Когда я перехожу к расширенным сведениям и выбираю вызов, он показывает следующее:
Любые указатели будут с благодарностью оценены, спасибо.
Обновление: трассировка стека расширенных сведений о приборе
NSError
. - person rob mayoff   schedule 18.03.2014GSEventRunModal
. Когда вы видите релиз вGSEventRunModal
, это означает, что пул авторелиза опустошается. Последняя строка в вашей истории событий (строка 7) — это дополнительное освобождение (отправленноеNSError
, ставшему зомби в строке 6), потому чтоNSError
автоматически выпускалось слишком много раз. - person rob mayoff   schedule 18.03.2014