Это очень хорошая практика - устанавливать любую переменную на определенное значение перед ее использованием.Невыполнение этого требования вызовет всевозможные проблемы.Остальное во многом зависит от инструментов, которые вы используете.
Хороший компилятор скажет вам, используете ли вы переменную, которая не была определена до ее использования, или если компилятор не может доказать, что она определена до ее использования.Плохой компилятор (или хороший компилятор, используемый разработчиком, который не знает, как правильно использовать свои инструменты), этого не сделает.При хорошем компиляторе инициализация в nil или NULL может помешать компилятору правильно выполнять свою работу.Рассмотрим этот пример, где вы действительно хотите, чтобы код возвращал строку NSString, которая не равна nil, но не поняла его правильно:
NSString* result;
if (condition) result = @"True";
else if (otherCondition) result = @"False";
return result;
Здесь компилятор может предупредить вас, поскольку вы можете вернуть неопределенный результат.Если вы инициализируете результат в nil, у вас все равно будет та же проблема, что вы можете вернуть nil в функции, которая не должна возвращать nil, но компилятор не может вас предупредить.
С другой стороны, если значение должно быть равно нулю, или если допустимо значение nil, и вы планируете не устанавливать переменную на другое значение в некоторых случаях, то инициализациядо нуля это хорошо и хорошая практика.
Описание: используйте компилятор и настройте его правильно, чтобы он сообщал вам, используете ли вы неинициализированные переменные.Если вы получили предупреждение о неинициализированных переменных, исправьте проблему, а не предупреждение.