NSString или NSMutableString для ивара? - PullRequest
2 голосов
/ 13 июля 2011

Я понимаю, что если вы планируете изменить содержимое строкового объекта, вам следует использовать NSMutableString.Это относится к строковым объектам, которые являются переменными экземпляра?Если у меня есть:

 @property (nonatomic,retain) NSString* map;

Могу ли я изменить self.map, когда захочу, и все равно это будет считаться нормальным?Я на самом деле делаю это, но мне пришло в голову, что, возможно, это не имеет смысла делать таким образом, и вместо этого мой ivar должен быть NSMutableString.Я просто делаю такие вещи, как:

self.map=@"Georgia";

/// in another method, later:

self.map=@"Montana";

Это работает, но технически map является неизменным, так что, может быть, это не разумно?

Ответы [ 2 ]

3 голосов
/ 13 июля 2011

Это обычный способ сделать это. На мой взгляд, вам не нужно использовать изменяемые строки, когда вы можете просто заменить их. Изменяемые строки предназначены для работы с содержимым.

0 голосов
/ 13 июля 2011

В этом случае изменчивость относится к содержимому строки, а не к ссылке на нее объекта.

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