Нужно ли устанавливать нулевые указатели в Objective-C после выпуска? - PullRequest
22 голосов
/ 29 апреля 2009

Что-то не так с

NSString * string = [ [ NSString alloc ] init ];
...
[ string release ];

или есть какое-либо значение (кроме передовой практики) в добавлении

string = nil;

Ответы [ 3 ]

28 голосов
/ 29 апреля 2009

Не обязательно, но хорошая практика. Если бы вы случайно упомянули об этом после релиза, могли бы случиться плохие вещи, но в Задаче C нет никакого вреда в ссылке на ноль.

3 голосов
/ 04 мая 2009

Установка переменной экземпляра в nil более полезна в многопоточном приложении, чем в однопоточном, поскольку при использовании нескольких потоков вы не всегда можете гарантировать, что переменная экземпляра будет прочитана только за до выпущено.

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

0 голосов
/ 19 июня 2010

Objective-C - это то же самое, что и C с необычным препроцессором.

Установка указателя на nil в Objective-C не влияет на то, на что когда-то указывал этот указатель.

...