Obj-C: [NSString stringWithString: @ "string"] против @ "string" - PullRequest
17 голосов
/ 08 июня 2011

Я видел, как люди делают что-то вроде [NSString stringWithString:@"some string"]. Почему бы просто не сделать @"some string"?

Например, посмотрите на facebook-ios-sdk.

+ [NSString stringWithString:] - в чем смысл? - это аналогичный вопрос, но ни один из ответов не адресован [NSString stringWithString:@"some string"] против @"some string".

Ответы [ 3 ]

8 голосов
/ 08 июня 2011

На самом деле нет никакой разницы. [NSString stringWithString: str] просто ничего не делает и возвращает str, если str уже неизменен.

6 голосов
/ 08 июня 2011

Нет никакой разницы, кроме необходимых дополнительных нажатий клавиш. Фактически, с постоянной строкой в ​​качестве параметра (или неизменяемой строкой) вы просто получаете другой указатель на параметр.

Основное использование метода в подклассах:

[NSMutableString stringWithString: @"fdghdfjl"];

предоставит вам изменяющуюся автоматически выпущенную копию оригинала.

3 голосов
/ 04 ноября 2011

Что касается stringWithString:, то следует отметить, что оно выдаст исключение, если исходная строка равна nil.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...