NSString* nsString=[[NSString alloc]initWithString:@"nsString"];
NSLog(@"nsString RetainCount:%li",[nsString retainCount]);
相应的结果是:
2013-03-04 11:18:03.291 ARC[655:303] nsString RetainCount:-1
另外: 如果使用init一个NSMutableString实例; 它返回1;
答案 0 :(得分:2)
http://whentouseretaincount.com
在编译时生成的不可变NSStrings
是单例。因此,他们根本不做retain/release
舞蹈。
NSString
检测何时用它初始化并直接返回字符串。您会发现该代码中alloc
返回的对象与init...
调用返回的对象不同。