作者leondemon (狗狗)
看板MacDev
標題Re: [問題] NSString & NSMutableString
時間Sat Sep 12 04:22:32 2009
在Programming in objective-C 2.0這本書中
提到用@"....." 來創造的
NSString物件 是
沒有retain count的
(其值為0xffffffff或0x7fffffff 為unsigned int的最大值 視系統而定)
也就是對它retain/release/autorelease是沒有作用的...
但是用@"....." 來創造的
NSMutableString物件 是
有retain count的
NSString *string1 = @"string A"; //設定為一個constant string
[string1 release]; //實際上應該是沒有作用
string1 = @"string B"; //將string 1設定另一個字串
因為不能對原本的constant string做release
這樣原本字串"string A"還是會一直存在於記憶體中直到程式結束嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.77.52.127
※ 編輯: leondemon 來自: 203.77.52.127 (09/12 04:40)
推 aecho:咦? @"..." 沒有retain count,那它會不會造成leak?? 09/12 07:36
→ uranusjr:#1AKD3gbH 的討論串 (我看到這篇就覺得好像在哪看過, 果 09/12 16:02
→ uranusjr:然有...所以我前面好像有很多東西都要修正 orz) 09/12 16:03
推 lemonstar:既然@"..."沒有retain count也沒有owner(owner是系統) 09/14 00:43
→ lemonstar:應該是會autorelease吧... 09/14 00:43
推 huggie:他非dynamic alloc, 不需 release 呀..你可以看我之前po的 09/26 11:39
→ huggie:而需 autorelease 的也是有 owner 的 09/26 11:41