鑑於這種代碼:@「某些文本」是否給出自動釋放或保留1個對象?
// Initialize string
NSString *name = @"Franzi";
@「」宏創建與給定的文本(這裏的名稱弗蘭西)和1一個保留計數一個的NSString?
所以@「」給出了一個NSString必須被釋放嗎?我負責這個對象嗎? 第二個代碼示例則混淆了我,即使我用這種方式:
NSSting *message;
message = [NSString stringWithFormat:@"Hello @%!",name];
//message = [NSString stringWithFormat:@"Hello Girl!"];
所以消息被在接下來的運行循環,K釋放。但是,作爲stringWithFormat參數提供的NSString是什麼?
請問類對象NSString是否釋放NSString @「Hello%@」/ @「Hello Girl」作爲參數? 還是@「」 - Konstruktor只回饋自動發佈的NSStrings?
關於常量/字符串堆棧溢出的一些其他問題:[1](http://stackoverflow.com/questions/1390334/nsstring-retain-count)[2](http://stackoverflow.com/問題/ 2768443/where-are-constant-nsstrings-allocated)[3](http://stackoverflow.com/questions/4804943/difference-bewteen-declaring-a-nsstring-with-alloc-and-init-and-分配 - )[4](http://stackoverflow.com/questions/2014667/memory-management-in-objective-c)[5](http://stackoverflow.com/questions/1320161/is-string-編譯器優化編譯) – 2011-05-20 09:04:53
'@「」'不是一個宏,而是一個Objective-C字符串文字。 – 2011-05-20 09:07:01