objective-c - 声明一个 block 方法参数而不使用 typedef

是否可以在 Objective-C 中指定方法 block 参数而不使用 typedef?它必须像函数指针一样,但如果不使用中间类型定义,我就无法找到成功的语法:

typedef BOOL (^PredicateBlock_t)(int);
- (void) myMethodTakingPredicate:(PredicateBlock_t)predicate

只有上面的编译,所有这些都失败:

-  (void) myMethodTakingPredicate:( BOOL(^block)(int) ) predicate
-  (void) myMethodTakingPredicate:BOOL (^predicate)(int)

我不记得我尝试过哪些其他组合。

最佳答案

- ( void )myMethodTakingPredicate: ( BOOL ( ^ )( int ) )predicate

https://stackoverflow.com/questions/5486976/

相关文章:

objective-c - 在 Cocoa 中生成一个随机的字母数字字符串

objective-c - 拆分一个 NSString 以访问一个特定的片段

ios - 为现有对象添加扩展名的 Swift 文件命名的最佳实践是什么?

ios - 如何获取在 UIWebView 中显示的 HTML 页面的标题?

ios - 如何以编程方式获取 iphone 的 MAC 地址

iphone - 在 iOS 中将 HTML 转换为 NSAttributedString

objective-c - 我如何判断一个对象是否附加了键值观察器

ios - 如何在 iOS 8 中强制 View Controller 方向?

ios - 属性 "Nonatomic"是什么意思?

ios - 如何在代码中获取我的 iOS 项目的当前版本?