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;
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;
http://whentouseretaincount.com
NSStrings
在编译时生成的不可变是单例。因此,他们根本不retain/release
跳舞。
NSString
检测何时使用此类初始化并直接返回字符串。您会发现该alloc
代码中返回的对象与调用返回的对象不同init...
。