Будет ли переназначаться утечка NSString? - PullRequest
0 голосов
/ 03 февраля 2011
NSString* str = @"foo";
str = [NSString stringWithFormat:@"%@%@", str, @"bar"];

Будет ли @ "foo" автоматически выпущен? То есть, будет ли его счетчик сохранения равен 0 при переназначении str?

Ответы [ 2 ]

2 голосов
/ 03 февраля 2011

Да, он будет выпущен.Вы не распределили / инициализировать / создать / скопировать его.

Редактировать : Полагаю, правильнее было бы сказать «нет, утечка не произойдет», поскольку она находится вфакт постоянный.Рекомендация alloc / init / new / copy по-прежнему применима.

1 голос
/ 03 февраля 2011

@"foo" - это постоянный объект времени компиляции в памяти, поэтому его счет сохранения не имеет значения.Это безопасно переназначить таким образом, даже если вы используете его в stringWithFormat:, как вы делаете.

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