2013-03-04 83 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