Освобождение объекта NSString - PullRequest
0 голосов
/ 09 марта 2011

Я работаю с iOS SDK

Если у меня есть

NSString *str = @"Something cool";
NSLog(@"Text : %@", str);

Должен ли я использовать

[str release];

Ответы [ 4 ]

1 голос
/ 09 марта 2011

NO.

Создание строк

Самый простой способ создать строковый объект в исходном коде - использовать конструкцию Objective-C @ "...":

NSString * temp = @ "/ tmp / scratch";Обратите внимание, что при создании строковой константы таким способом вы должны избегать использования чего-либо, кроме 7-битных символов ASCII.Такой объект создается во время компиляции и существует во время выполнения вашей программы.Компилятор делает такие объектные константы уникальными для каждого модуля, и они никогда не освобождаются, хотя вы можете сохранить и освободить их, как и любой другой объект.Вы также можете отправлять сообщения непосредственно в строковую константу, как и в любой другой строке:

BOOL same = [@ "сравнение" isEqualToString: myString];

0 голосов
/ 09 марта 2011

Если вы используете автозапуск (обычно это делают приложения iOS), вам не нужно выпускать экземпляр.

0 голосов
/ 09 марта 2011

Нет.Вам нужно только рассмотреть возможность освобождения объекта при использовании alloc.

0 голосов
/ 09 марта 2011

Нет. Это объект авто-релиза. Вы должны освобождать только объект, который вы выделяете [[NSString alloc] init]]

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