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オプションをオフにすると、プロジェクトは以前とまったく同じように機能すると思いました..