在完成块参数中添加代码
Add code in a completion block parameter
抱歉,如果这个问题已经被问过。我找不到好的关键字来回答...
在完成块中,是否可以在块变量之前或之后添加代码?
我想做这样的事情:
- (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion {
[super presentViewController:viewControllerToPresent animated:flag completion:^{
//some code I add here
completion();
}];
}
我在尝试执行此操作时遇到 EXC_BAD_ACCESS 错误。
编辑:问题是由于使用 "completion()" 而没有检查它是否为 nil 引起的。
当然,您可以在您有意见的地方添加代码。您的崩溃是由其他一些问题引起的,例如未初始化的变量,或者您可能正在使用超出范围的局部变量。
抱歉,如果这个问题已经被问过。我找不到好的关键字来回答...
在完成块中,是否可以在块变量之前或之后添加代码?
我想做这样的事情:
- (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion {
[super presentViewController:viewControllerToPresent animated:flag completion:^{
//some code I add here
completion();
}];
}
我在尝试执行此操作时遇到 EXC_BAD_ACCESS 错误。
编辑:问题是由于使用 "completion()" 而没有检查它是否为 nil 引起的。
当然,您可以在您有意见的地方添加代码。您的崩溃是由其他一些问题引起的,例如未初始化的变量,或者您可能正在使用超出范围的局部变量。