【发布时间】:2012-08-08 10:43:10
【问题描述】:
我试图了解自动释放池。我创建了一个示例应用程序,如下所示:
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSString *releasePoolString = [[[NSString alloc] initWithFormat:@"%@",@"ReleasePool autorelease variable"] autorelease];
NSLog(@"Retain count of autorelease variable inside release pool %i",[releasePoolString retainCount]);
[pool drain];
// After pool drain still retain count = 1 ??????
NSLog(@"Retain count of autorelease variable after release pool drain %i",[releasePoolString retainCount]);
最后一个日志仍将 retaincount 打印为 1。 我错过了什么吗...有人可以帮我理解吗...。
谢谢...
【问题讨论】:
-
帮自己一个忙,使用 ARC。它现在是默认设置,几乎推荐给所有人。