我一直在寻找,但只能找到从NSOperation传回数据的委托模式的想法。我有一个在NSOperation完成后下载数据的NSOperation,我希望它将下载的数据传递回将其放入NSoperationQueue中的类。在我的队列中可能有多达100个这样的NSOPerations,它们都在检索唯一的数据。任何想法都将不胜感激。
发布于 2013-05-15 21:03:00
另一个想法是使用块。您可以使用块来初始化NSOperation对象
typedef void(^CompletionBlock)(NSData *data);
- (id) initWithCompletionBlock: (CompletionBlock) block;
并在操作完成并下载数据后调用它。
dispatch_async(dispatch_get_main_queue(), ^{
if(block){
block(fetchedData);
}
});
发布于 2013-05-15 21:04:06
您可以使用观察者模式在每个操作完成后侦听和发布包含必要数据的通知。您将使用NSNotificationCenter
来处理此问题。您可以在文档的Notification Programming Topics部分找到更多详细信息。无论您使用哪种方法,都要确保考虑到您所在的线程。
https://stackoverflow.com/questions/16565686
复制相似问题