【问题标题】:NSBlockOperation and NSAutoreleasePoolNSBlockOperation 和 NSAutoreleasePool
【发布时间】:2011-02-24 16:34:39
【问题描述】:

通常,当您创建NSOperation 子类时,您负责在-main 方法中创建和释放NSAutoreleasePool

当你使用NSBlockOperation时,是否需要在块中创建一个自动释放池?

【问题讨论】:

  • 我不知道有任何文档说您必须在 -main 方法中创建 NSAutoreleasePool。

标签: objective-c cocoa nsoperation nsautoreleasepool nsblockoperation


【解决方案1】:

没有。 GCD(NSOperationQueue 建立在 OS X 10.6 或 iOS 4.2 之上)为您管理自动释放池,就像 NSRunLoop 一样。

【讨论】:

  • 谢谢凯文。 (我从旧的 REALbasic 列表中认出了你的名字……很久以前的男孩。)
  • 哇,过去的爆炸。看来我的通讯录里还有你的名字 :)
【解决方案2】:

我不这么认为,因为工作队列已经为您创建了自己的池。

【讨论】:

    【解决方案3】:

    亚当,

    最好的办法是阅读对象的块内存行为。这是 iOS Blocks and Variables 的链接,此页面底部包含有关对象类型的信息。

    弗兰克

    【讨论】:

      猜你喜欢
      • 2014-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-29
      • 2014-09-17
      • 2012-06-16
      • 1970-01-01
      相关资源
      最近更新 更多