NSOperationQueue和NSOperation,我必须发布吗?

时间:2010-04-16 07:25:42

标签: objective-c iphone

在文档中我已经读过,我不需要释放NSOperation对象,因为它将由NSOperationQueue释放,但是如果我在某些情况下不释放它,那么这些乐器会给我一个内存泄漏如果我释放它会崩溃。有什么问题你觉得怎么样?

1 个答案:

答案 0 :(得分:4)

您必须发布您创建的副本。

我假设您正在做类似的事情:

SomeOperationNSOperation的子类,可以执行某些操作。

- (void)start
{
    SomeOperation *so = [[SomeOperation alloc] initWithURL:url];
    [queue addOperation:so];
    [so release];
}

Apple spec

  

addOperation:

     

...

     

操作

     

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

     

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