или есть какое-либо значение (отличное от передового опыта) при добавлении
string = nil;
?
Ответ 1
Не нужно, но хорошая практика. Если вы случайно не указали это после выпуска, могут произойти плохие вещи, но в Objective C нет никакого вреда в ссылке на нуль.
Ответ 2
Установка переменной экземпляра в nil более полезна в многопоточном приложении, чем однопоточное, поскольку с несколькими потоками вы не всегда можете гарантировать, что переменная экземпляра будет считана только до ее выпуска.
Обычно я не разбираюсь в однопоточных приложениях, если только не существует другой убедительной причины.
Ответ 3
Objective-C действительно то же самое, что и C с фантастическим препроцессором.
Установка указателя на nil в Objective-C не влияет на то, что когда-то указывалось этим указателем.