可能重复: 为什么使用Autorelease池? 所有的Objective-C起始页面都在主函数声明下面打开一个默认的@autoreleasepool{…}语句。 但是这个陈述究竟在做什么呢? 新的Objective-C自动释放对象并删除行不会改变程序。 这个命令真的有必要吗?
在Swift中,我注意到没有@autoreleasepool{}构造,尽pipeSwift使用ARC。 在Swift中pipe理autoreleasepool的正确方法是什么?或者出于某种原因删除了它?
据我所知,用alloc , new或copy创build的任何东西都需要手动发布。 例如: int main(void) { NSString *string; string = [[NSString alloc] init]; /* use the string */ [string release]; } 但是,我的问题不是这样吗? int main(void) { NSAutoreleasePool *pool; pool = [[NSAutoreleasePool alloc] init]; NSString *string; string = [[[NSString alloc] init] autorelease]; /* use the string */ [pool drain]; }