1
在文档中我已经读过,我不需要释放NSOperation对象,因为它会被NSOperationQueue释放,但是如果我在某些情况下没有释放它,在其他情况下,仪器会给我一个内存泄漏它会崩溃,如果我释放。什么问题你觉得怎么样?NSOperationQueue和NSOperation,我必须发布它吗?
在文档中我已经读过,我不需要释放NSOperation对象,因为它会被NSOperationQueue释放,但是如果我在某些情况下没有释放它,在其他情况下,仪器会给我一个内存泄漏它会崩溃,如果我释放。什么问题你觉得怎么样?NSOperationQueue和NSOperation,我必须发布它吗?
您必须发布您创建的副本。
我假设你正在做的事情,如:
SomeOperation
是NSOperation
它做了子类。
- (void)start
{
SomeOperation *so = [[SomeOperation alloc] initWithURL:url];
[queue addOperation:so];
[so release];
}
addOperation:
...
操作
的操作对象是 添加到所述队列。在内存管理的 应用程序中,该对象由操作队列保留 。在 垃圾回收应用程序中, 队列强烈引用 操作对象。
一旦添加完成,指定的操作将保留在队列中,直到它完成执行。
是的,我在做同样的代码。所以它需要被释放,不是吗? – 2010-04-16 07:42:28
好吧,它适用于发布,你有权利。 :) 非常感谢。 – 2010-04-16 10:20:00