最佳答案
是否可以在 Objective-C 中指定一个方法块参数而不使用 typedef?它必须像函数指针一样,但是如果不使用中间 typedef,我就无法找到正确的语法:
typedef BOOL (^PredicateBlock_t)(int);
- (void) myMethodTakingPredicate:(PredicateBlock_t)predicate
只有上面的编译,所有这些都失败了:
- (void) myMethodTakingPredicate:( BOOL(^block)(int) ) predicate
- (void) myMethodTakingPredicate:BOOL (^predicate)(int)
我不记得我还试过什么组合了。