【发布时间】:2010-12-11 01:33:13
【问题描述】:
一个简单的程序:
-(void)doSomething {
NSLog(@"self rc=%d", [self retainCount]);
[self performSelector:@selector(doMe:) withObject:nil afterDelay:0 inModes:[NSArray arrayWithObject:NSDefaultRunLoopMode]];
NSLog(@"self rc=%d", [self retainCount]);
}
-(void)doMe:(id)object {
NSLog(@"i'm done");
NSLog(@"self rc=%d", [self retainCount]);
}
输出:
self rc=1
self rc=2
i'm done
self rc=2
为什么保留计数会增加到并保持在 2?
【问题讨论】:
-
doMe 完成后的保留计数是多少?
标签: objective-c memory-management