我是目标C的新手,我有以下两难困境.我希望在类预测中的方法完成运行后运行一段代码.
-(void)populate: (void (^)())completionHandler{//method that should run first
//code that runs first
}
Run Code Online (Sandbox Code Playgroud)
我在main函数中调用此方法
[prediction populate:^{
NSLog(@"it works")//it works is new displayed
}];
Run Code Online (Sandbox Code Playgroud)
我希望在populate方法完成运行后立即显示"it works".但这不会发生.我究竟做错了什么?
只是completionHandler在方法中添加参数不会自动运行它.当你完成populate:方法中你需要做的任何事情时,你需要自己调用它:
-(void)populate: (void (^)())completionHandler { //method that should run first
//code that runs first
if (completionHandler) {
completionHandler();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
81 次 |
| 最近记录: |