2013-03-04 35 views
-1
NSString* nsString=[[NSString alloc]initWithString:@"nsString"]; 
NSLog(@"nsString RetainCount:%li",[nsString retainCount]); 

相应的结果是:的NSString保留计数在Objective-C

2013-03-04 11:18:03.291 ARC[655:303] nsString RetainCount:-1 
除了

: 如果使用的初始化一个的NSMutableString实例; 它返回1;在编译时生成的

+2

那么你的问题是什么? – Breakpoint 2013-03-04 03:25:07

回答

2

http://whentouseretaincount.com

NSStrings不可改变是单例。因此,他们根本不做retain/release舞蹈。

NSString检测它何时被初始化,并直接返回字符串。您会发现该代码中由alloc返回的对象与由init...调用返回的对象不同。

+0

感谢@regexident清理格式! – bbum 2013-03-04 17:51:59