保留NSOperation的计数行为

时间:2012-08-22 10:15:55

标签: ios memory-management automatic-ref-counting nsoperation retaincount

将NSOperation插入NSOperationQueue是否会增加NSOperation的保留计数?如果是,什么时候它会减少?

3 个答案:

答案 0 :(得分:3)

请阅读文档。

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSOperationQueue_class/Reference/Reference.html

  
      
  • (void)addOperation:(NSOperation *)操作
  •   
     

<强>参数

     

操作

     

要添加到队列的操作对象。在内存管理的应用程序中,此对象由操作队列保留。在   垃圾收集的应用程序,队列强烈引用   操作对象。

     

<强>讨论

     

添加后,指定的操作将一直保留在队列中   完成执行。

答案 1 :(得分:2)

来自文档

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSOperationQueue_class/Reference/Reference.html

  

参数。

     

操作。要添加到队列的操作对象。在   内存管理的应用程序,此对象由操作保留   队列。在垃圾收集的应用程序中,队列强烈   引用操作对象。

答案 2 :(得分:2)

来自the documentation

  

在内存管理的应用程序中,此对象由操作队列保留。在垃圾收集的应用程序中,队列强烈引用操作对象。

在出列和处理时会减少,所以你不必担心它。只需将其添加到队列中,并确保平衡了所有retainrelease,并且不会泄漏内存。