对于iOS NSOperationQueue,队列何时删除操作块?对于我的项目,我使用MKNetworkKit来管理网络请求操作,因为您知道请求/响应是异步操作,一旦请求发出,队列是否会删除操作?或者它会等待响应然后将其从队列中删除?知道的任何人请提前共同分享和讨论。
答案 0 :(得分:0)
操作块应该从NSOperation继承,这是一个抽象类。 有一些方法可以从操作队列中删除块。
1)实现 - (void)main方法,当它完成时,它将从队列中删除。 2)你也可以实现isFinished方法来返回一个实例var,你可以在完成 - (void)main之前操作它来完成你的块。为此,您还应该更改KVO值,以便操作队列知道何时调用isFnished,如下所示:
[self willChangeValueForKey:@"isFinished"];
finished = YES;
[self didChangeValueForKey:@"isFinished"];
在你的isFinished中:
- (BOOL)isFinished {
return finished;
}