Ответ 1
На самом деле нет никакой разницы. [NSString stringWithString: str]
просто ничего не делает и возвращает str
, если str
уже неизменен.
Я видел, как люди делали что-то вроде [NSString stringWithString:@"some string"]
. Почему бы просто не сделать @"some string"
?
В качестве примера рассмотрим facebook-ios-sdk
.
+ [NSString stringWithString:] - в чем смысл? - это аналогичный вопрос, но ни один из ответов не отвечает [NSString stringWithString:@"some string"]
vs. @"some string"
.
На самом деле нет никакой разницы. [NSString stringWithString: str]
просто ничего не делает и возвращает str
, если str
уже неизменен.
Там нет никакой разницы, кроме дополнительных штрихов. Фактически, с постоянной строкой в качестве параметра (или неизменяемой строки) вы просто получаете другой указатель на параметр.
Основное использование метода в подклассах:
[NSMutableString stringWithString: @"fdghdfjl"];
предоставит вам измененную автореализованную копию оригинала.
Одно замечание о stringWithString:
заключается в том, что оно генерирует исключение, если исходная строка равна нулю.