我注意到在将我的 Xcode 更新到 4.2 后,retainCount 总是等于 -1。我没有在我的项目中使用 ARC,我什至尝试创建新项目并在项目设置中将 ARC 选项切换为关闭,但下一行的工作方式非常奇怪:
NSString *string = [[NSString alloc] init];
NSLog(@"%i", [string retainCount]); //-1
[string retain];
[string retain];
[string retain];
NSLog(@"%i", [string retainCount]); //still -1
[string release];
[string release];
[string release];
NSLog(@"%i", [string retainCount]); //still -1
我错过了什么吗?我认为如果关闭 ARC 选项,项目将像以前一样工作。