考虑这种情况。
-(void) mainMethod
{
[self subMethod1];
[self subMethod2];
}
我的假设:
调用mainMethod
时,会先调用subMethod1
,然后调用subMethod2
。但是,没有规则说“仅在完成subMethod1
后,subMethod2
应该被调用”。如果我使用一些延迟线或一些持续时间为subMethod1
的动画,控件将不会等待它完成。它将开始下一个过程。因此,subMethod2
可以在subMethod1
完成其工作之前调用。我是对的吗?
问题:
如何让subMethod2等待,直到subMethod1完成它的工作?
注意:我不想将subMethod2
放入subMethod1
答案 0 :(得分:5)
你应该使用一个完成块(比如UIView动画具有在动画发生后执行的块)。
如果您不熟悉积木,请查看Apple's Short Practical Guide to Blocks。