如何检查块中传递的void函数是否为空?

时间:2012-01-25 10:11:03

标签: iphone objective-c ios xcode objective-c-blocks

是否有任何有用的提示如何检查块中传递的void函数是否为空?

完成块的输出是 __ NSGlobalBlock __ ,因此该块不为空并且逻辑上检查nil或NULL没有意义。

查看代码:

函数调用示例:

[aClass setCheckedItemVisible:YES animated:YES completion:^{
         //Empty block     
    }];

功能:

-(void)setCheckedItemVisible:(BOOL)visible animated:(BOOL)animated completion:(void (^)())completion {
    ...

    (completion) ? ((void (^)())completion)() : NSLog(@"do other Stuff");

    ...
}

提前谢谢。

1 个答案:

答案 0 :(得分:1)

为什么不通过nil而不是空块?这样你就可以检查nil