我一直在搜索,但只能找到委托模式的想法来从 NSOperation 传回数据。我有一个 NSOperation 在完成该 NSOperation 后下载数据我希望它传递回将其下载的数据放入 NSoperationQueue 的类。我的队列中最多可能有 100 个这样的 NSOPeration,它们都在检索唯一数据。任何想法将不胜感激。
问问题
559 次
2 回答
5
另一个想法是使用块。您可以使用块初始化 NSOperation 对象
typedef void(^CompletionBlock)(NSData *data);
- (id) initWithCompletionBlock: (CompletionBlock) block;
并在操作完成并下载数据后调用它。
dispatch_async(dispatch_get_main_queue(), ^{
if(block){
block(fetchedData);
}
});
于 2013-05-15T13:03:00.260 回答
2
一旦每个操作完成,您可以使用观察者模式来侦听并发布包含必要数据的通知。您将使用NSNotificationCenter
来处理此问题。您可以在文档的通知编程主题部分找到更多详细信息。无论您使用哪种方法,请确保您考虑到您所在的线程。
于 2013-05-15T13:04:06.193 回答