在我的iOS项目中,我调用一个包含2个块的方法,比如A& B. 两个块执行2个不同的网络呼叫,A先行并基于一些网络响应,执行块B.我这样做是为了整洁,因为它们都做了很多事情。我在我的项目中看到了这项工作,但我不确定这样做是否正确。一些例子:
// somewhere in code
...
[self methodThatContainsTwoBlocks];
...
- (void)methodThatContainsTwoBlocks {
Block B ^(responseFromSingletonOperation) {
// do another network operation
[MyNetworkManagerSingleton performAnotherOperationAsynchronouslyWithCompletion:^{
// call some method when done
[self wereDone];
}
}
[MyNetworkManagerSingleton performAnOperationAsynchronouslyWithCompletion:^{
// do a network operation
// call block B with response
B(responseFromNetworkOperation);
}
}
我的问题的措辞可能不正确,因为网络单例实例需要一个完成块,因此我说,两个块。我希望插图让我的问题更加清晰,因为我刚刚开始进行iOS编程,并且仍然在用块编写方式,因为高级开发人员推荐了很多。 感谢。