我可以在块中调用块,两个块都在iOS中的方法内吗?

时间:2015-06-11 16:48:37

标签: ios methods objective-c-blocks

在我的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编程,并且仍然在用块编写方式,因为高级开发人员推荐了很多。 感谢。

0 个答案:

没有答案