【发布时间】:2014-07-03 19:38:35
【问题描述】:
我已经阅读了Concurrency Programming Guide
在指南中,文本指出 GCD 调度队列定义了自己的 @autoreleasepool 池,并提到仍然建议在每个调度级别定义一个,但是对于 NSOperation 什么也没说,Apple 提供的示例代码也没有显示@autoreleasepool 结构的用法。 @autoreleasepool 在 NSOperation 上下文中被模糊提及的唯一地方是在修订历史中,
2012-07-17 - 删除了有关操作自动释放池使用的过时信息。
查看在线提供的示例代码,例如。 http://www.raywenderlich.com/19788/how-to-use-nsoperations-and-nsoperationqueues 在基于 NSOperations 的对象的实现中使用 @autoreleasepool,例如:
@implementation ImageDownloader
- (void)main {
@autoreleasepool {
...
}
}
@end
- 我应该如何实现现代 NSOperation 对象?
- Apple 指的是 2012-07-17 的更新是什么?
【问题讨论】:
-
自动释放池几乎无用的地方是在您的主程序周围。在那里,它仅用于消除“刚刚泄漏”的警告消息,而无需实际执行任何操作。
标签: ios automatic-ref-counting nsoperation ios8 nsautoreleasepool