Я работаю с iOS SDK
Если у меня есть
NSString *str = @"Something cool"; NSLog(@"Text : %@", str);
Должен ли я использовать
[str release];
NO.
Создание строк Самый простой способ создать строковый объект в исходном коде - использовать конструкцию Objective-C @ "...": NSString * temp = @ "/ tmp / scratch";Обратите внимание, что при создании строковой константы таким способом вы должны избегать использования чего-либо, кроме 7-битных символов ASCII.Такой объект создается во время компиляции и существует во время выполнения вашей программы.Компилятор делает такие объектные константы уникальными для каждого модуля, и они никогда не освобождаются, хотя вы можете сохранить и освободить их, как и любой другой объект.Вы также можете отправлять сообщения непосредственно в строковую константу, как и в любой другой строке: BOOL same = [@ "сравнение" isEqualToString: myString];
Создание строк
Самый простой способ создать строковый объект в исходном коде - использовать конструкцию Objective-C @ "...":
NSString * temp = @ "/ tmp / scratch";Обратите внимание, что при создании строковой константы таким способом вы должны избегать использования чего-либо, кроме 7-битных символов ASCII.Такой объект создается во время компиляции и существует во время выполнения вашей программы.Компилятор делает такие объектные константы уникальными для каждого модуля, и они никогда не освобождаются, хотя вы можете сохранить и освободить их, как и любой другой объект.Вы также можете отправлять сообщения непосредственно в строковую константу, как и в любой другой строке:
BOOL same = [@ "сравнение" isEqualToString: myString];
Если вы используете автозапуск (обычно это делают приложения iOS), вам не нужно выпускать экземпляр.
Нет.Вам нужно только рассмотреть возможность освобождения объекта при использовании alloc.
Нет. Это объект авто-релиза. Вы должны освобождать только объект, который вы выделяете [[NSString alloc] init]]
[[NSString alloc] init]]