在ARC(自动引用计数)的大多数情况下,我们根本不需要考虑Objective-C对象的内存管理。不允许再创建NSAutoreleasePool
s,但是有一个新的语法:
@autoreleasepool {
…
}
我的问题是,当我不应该手动释放/自动释放时,为什么我还需要这个?
编辑:总结一下我从所有的答案和评论中得到的东西:
新语法:
@autoreleasepool { … }
是新的语法
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
…
[pool drain];
更重要的是:
autorelease
和release
。@autoreleasepool
:
myRunLoop(…) { @autoreleasepool { … } return success; }
。