NSString在Objective-C中保留计数

时间:2013-03-04 03:22:21

标签: objective-c nsstring retaincount

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;

1 个答案:

答案 0 :(得分:2)

http://whentouseretaincount.com

在编译时生成的不可变NSStrings是单例。因此,他们根本不做retain/release舞蹈。

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