Лучшая практика инициализации строк NSS на iPhone - PullRequest
1 голос
/ 30 июня 2010

xCode "build and analysis" жалуется на то, что "s" может быть мусором.

Какое решение лучше? A, B или C?

NSString *s;              // A
NSString *s = nil;        // B
NSString *s = @"";        // C

if(x == 1) s = @"you picked 1";
if(x == 2) s = @"you picked 2";
if(x == 3) s = @"you picked 3";

1 Ответ

2 голосов
/ 30 июня 2010

Я всегда иду с

NSString *s = nil;

в качестве значения инициализации по умолчанию. Это более разумно, чем пустая строка (пустая строка - «вещь», тогда как nil - неизвестное значение), и, поскольку вы можете сообщать nil в Objective-C, это (как правило) не вызывает больших проблем, если Я почему-то забываю дать ему "реальное" значение.

...