2014-09-05 84 views
1

我是仙女新的目标C和我有以下困境。在类预测中的方法结束运行后,我想要一段代码运行。客观C阻止代码

-(void)populate: (void (^)())completionHandler{//method that should run first 
    //code that runs first 
} 

我打电话的主要功能

[prediction populate:^{ 
    NSLog(@"it works")//it works is new displayed 
}]; 

这个方法我想到“它的工作原理”要显示的填入方法运行结束之后。但是这并没有发生。我究竟做错了什么?

回答

5

只需将completionHandler参数添加到您的方法中就不会自动运行它。当您完成populate:方法中需要做的任何事情时,您需要自己调用它:

-(void)populate: (void (^)())completionHandler { //method that should run first 
    //code that runs first 

    if (completionHandler) { 
     completionHandler(); 
    } 
}