我正在做一些事情,我需要一个方法来完成,然后再调用另一个。问题是,我很难搞清楚我该怎么做。我搜索了块和异步任务,但我没有得出结论,我想问你们的建议。
感谢。
答案 0 :(得分:2)
有多种方法可以做到:
UINotification
,异步任务将发布此通知,主线程将订阅此通知。UITableViewDelegate
,UIScrollViewDelegate
。总结是,在单独的类上运行的异步任务将在特定事件完成时调用其委托,就像任务完成一样。使用块变量,您可以为异步任务创建方法签名,例如:
- (void)asyncTask:(void(^)())completionHandler;
在您的主要方法中,您可以致电:
[self asyncTask:^{
[self asyncTask2:^{
}];
}];
通常情况下,如果异步任务在同一个类上,我会使用块变量,或者只是一次。如果有很多任务,我将创建单独的类并使用委托。通知总是我的最后手段,因为它更难调试,而且在我看来它更加紧密耦合。