问题描述
- NSString 引用计数 负1
-
**_NSString *str = [[NSString alloc]init];
NSString *str7 = [[NSString alloc]initWithString:@"aaa"] //retainCount = -1
NSString *str8 = [[NSString alloc]initWithFormat:@"aaa"]; //retainCount = -1
NSString *str9 = [[NSString alloc]initWithFormat:@"a%s","aa"];//retainCount = -1
NSString *str4 = [NSString stringWithFormat:@"aaa"]; // -1NSString str10 = [[NSString alloc]initWithFormat:@"啊"]; //retainCount = 1
NSlog(@"%d",str);
为什么中文的时候计数为1 英文时 alloc开辟空间为什么不计数
解决方案
解决方案二:
字符串在 OC 中系统对其有特殊的处理方式,并不使用 retain 和 release 方法管理内存
稍微详细一点的解释,可以参见我的博客
http://blog.csdn.net/aa603020460/article/details/49827287
时间: 2024-05-22 07:12:27