【发布时间】:2014-05-07 09:22:17
【问题描述】:
我想知道 NSAutoreleasePool 和 @autoreleasepool 块之间有什么区别。我已经经历了很多问题,但没有得到任何令人满意的答案。直到现在我才知道在 ARC 中我们不能使用 NSAutoreleasePool和@autoreleasepool 块可以在ARC enabled and disabled 情况下使用。那么在哪些方面它们在内部以这种方式表现是不同的。
是否有必要在禁用弧的环境中释放对象,即使我们使用 NSAutoreleasePool 或 @autoreleasepool 块或者它们会自动释放?另外,如果 ARC 自动释放内存,那么我们为什么使用@autoreleasepool 块。请给我一个简要的例子。
【问题讨论】:
-
从文档中苹果说如果你使用 arc 你不能使用 NSAutoreleasePool 你必须使用@autoreleasepool。进一步了解developer.apple.com/library/mac/documentation/Cocoa/Reference/…
-
我在上面的链接中看到了这一点: -重要提示:如果您使用自动引用计数 (ARC),则不能直接使用自动释放池。相反,您使用 @autoreleasepool 块。
-
@leo...链接给出的区别我已经在我的问题中提到过。我想知道这是唯一的区别还是还有其他区别。
标签: ios objective-c memory-management nsautoreleasepool