我对 retainCount 有疑问
NSLog(@"%i", [self.albumReceiver retainCount]);
self.albumReceiver = [[[FacebookAlbumsDelegateReceiver alloc] init: self] autorelease];
NSLog(@"%i", [self.albumReceiver retainCount]);
第一行的保留计数为 0,但当它到达第三行时为 3。self.albumReceiver 上的属性是保留属性......但据我所知,它应该是 2,而其他后来的保留计数应该去1,因为它是后来自动发布的。
NSLog(@"%i", [self.albumReceiver retainCount]);
albumReceiver = [[[FacebookAlbumsDelegateReceiver alloc] init: self];
NSLog(@"%i", [self.albumReceiver retainCount]);
保留计数从 0 开始,在这种情况下,第二个保留计数打印 2....
有人可以给出一些关于保留和释放如何工作的想法......
我以为没有'self'关键字,它会忽略setter调用是吗?但是如果我在第二个例子上放自动释放,我会有错误。