如何使方法等到另一个方法完成它在Objective C中工作?

Con*_*sed 1 methods objective-c completion-block

考虑这种情况.

-(void) mainMethod
{
   [self subMethod1];
   [self subMethod2];
}
Run Code Online (Sandbox Code Playgroud)

我的假设:

在调用时mainMethod,它将调用第subMethod1一个,然后调用subMethod2.但是,没有规则说"完成subMethod1唯一的,subMethod2应该被称为".如果我使用一些延迟线或持续时间为的某些动画subMethod1,控件将不会等待它完成.它将开始下一个过程.因此,subMethod2可以在subMethod1完成其工作之前调用它.我对吗?

题:

如何让subMethod2等待,直到subMethod1完成它的工作?

注意:我不想subMethod2放入subMethod1

Bru*_*oga 5

您应该使用完成块(如UIView动画具有在动画发生后执行的块).

如果您不熟悉块,请查看Apple的块实用短指南.