- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
_testObject = [[TestObject alloc] init];
NSLog(@"_testObject rc = %d", _testObject.retainCount);
NSLog(@"testObject rc = %d", self.testObject.retainCount);
}
そしてtestObjectなぜ、それぞれ、これらのNSLog()
1と2の出力であるなぜretainCountが増えましたか?
@property (retain) TestObject *testObject;
のですか?プロパティのretainCount
と基礎をなすオブジェクトは異なりますか?
あなたがコピー&ペーストでし二行目 'のNSLog(@ "testObject RC =%dの"、self.testObject.retainCount);'何回か、それを試してみますか?あなたはいつも2を得るか、またはカウントが上がるか?ちょっと不思議なことに...もしそれが上がるなら、あなたはretain/autoreleaseプロパティを持っています。 – dasblinkenlight
は理由を見つけました、非原子を追加しませんでした。 – softempire
retainCountは役に立たない。それを呼び出さないでください。 – bbum