让说我有命名为MyTestClass.h一类。
有其初始化不同的方式
类结构3个的NSString变量是看起来像
@interface MyTestClass : NSObject {
NSString *testString1;
NSString *testString2;
NSString *testString3;
}
@property (nonatomic, retain) NSString *testString1;
@property (nonatomic, retain) NSString *testString2;
@property (nonatomic, retain) NSString *testString3;
@end
MyTestClass.m
@implementation MyTestClass
@synthesize testString1, testString2, testString3;
-(id) init{
self.testString1 = @"";
[self setTestString2:@""];
testString3 = @"";
}
现在我打算创建一个对象的MyTestClass
MyTestClass *obj = [[MyTestClass alloc] init];
我觉得这行代码执行testString1,后testString2和testString3retainCounts将。
我纠正我的朋友吗?
我可以知道如果我释放testString3会发生什么?
对此的任何帮助表示赞赏。
感谢
依靠retainCount并不好。我们永远无法确定框架保留了多少次。您可以阅读这篇文章 - > http://www.friday.com/bbum/2011/12/18/retaincount-is-useless/由bbum撰写的精彩文章。基本上依靠内存管理是不好的。 – iNoob 2012-07-05 12:56:05
我将上面的问题链接为重复的,因为它也链接到许多其他相关问题的树上,以及在这种情况下会看到的奇怪结果(2147483647)。看起来,每个人都必须至少体验一次NSString的retainCount的奇怪之处,然后才会意识到retainCount是多么无用(以及为什么ARC将它变成编译器错误是件好事)。 – 2012-07-05 15:44:42