作者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)
1F:推 aecho:咦? @"..." 没有retain count,那它会不会造成leak?? 09/12 07:36
2F:→ uranusjr:#1AKD3gbH 的讨论串 (我看到这篇就觉得好像在哪看过, 果 09/12 16:02
3F:→ uranusjr:然有...所以我前面好像有很多东西都要修正 orz) 09/12 16:03
4F:推 lemonstar:既然@"..."没有retain count也没有owner(owner是系统) 09/14 00:43
5F:→ lemonstar:应该是会autorelease吧... 09/14 00:43
6F:推 huggie:他非dynamic alloc, 不需 release 呀..你可以看我之前po的 09/26 11:39
7F:→ huggie:而需 autorelease 的也是有 owner 的 09/26 11:41