Что может привести к тому, что мое (сильное) объявленное имущество станет за моей спиной ноль? - PullRequest
9 голосов
/ 14 октября 2011

Используя ARC, у меня есть объявленное свойство следующей формы:

@property (nonatomic, strong) MyClass * instanceName;

Я установил это свойство в трех местах - и добавил точки останова для всех трех мест.

Я ссылаюсь на эту недвижимость в нескольких местах.

Когда я выполняю свой код, свойство устанавливается, и ни одно из двух других мест, где свойство устанавливается, не вызывается.(Как и ожидалось).

Однако в какой-то момент значение этого свойства становится равным нулю.

Я добавил метод dealloc в свой класс с NSLog и точкой останова - но он никогда не вызывается (поэтому не похоже, что это обрабатывается как нулевая слабая ссылка).

Я озадачен тем, почему мое «сильное» свойство стало бы нулевым, если бы я этого не сделал.

Любой совет будет оценен.

Спасибо

1 Ответ

9 голосов
/ 14 октября 2011

Простой ответ заключается в том, что вы заставляете это сделать.Вы просто еще не знаете, как.

В какой-то момент после обращения к ивару он должен появиться в вашем окне отладки с "i" перед ним.Щелкните правой кнопкой мыши по нему и выберите «Смотреть ...». Вы получите точку останова при каждом изменении памяти.

...