Странная ошибка на iOS - PullRequest
0 голосов
/ 30 мая 2011

У меня есть следующие строки кода:

NSLog(@"deleted row");
if(contacts == nil) {
    NSLog(@"contacts is nil");
}
NSLog(@"hi");
NSLog(@"contacts is %@",contacts);

В консоли я вижу deleted row напечатано, затем я вижу hi напечатано, и затем происходит сбой. Переменная contacts является NSMutableArray. Если это не nil, почему я не могу его распечатать? Почему происходит сбой программы?

1 Ответ

3 голосов
/ 30 мая 2011

Возможно, проблема в том, что ваш экземпляр contacts был освобожден (например, был создан как автоматически выпущенный за пределы текущей области и не был сохранен), поэтому попытка отправить ему сообщение (запись в журнал переменной приводит к отправке -description или *Сообщение 1003 *) приводит к ошибке EXEC_BAD_ACCESS.

Просто сравнивайте iVar с nil, не нужно никаких вызовов методов, поэтому в нем можно использовать даже недопустимый указатель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...