typedefを使用せずにObjective-Cでメソッドブロックパラメーターを指定することは可能ですか?関数ポインターと同じようにする必要がありますが、中間のtypedefを使用しないと、勝つ構文を見つけることはできません。
typedef BOOL (^PredicateBlock_t)(int);
- (void) myMethodTakingPredicate:(PredicateBlock_t)predicate
上記のみがコンパイルされ、これらはすべて失敗します:
- (void) myMethodTakingPredicate:( BOOL(^block)(int) ) predicate
- (void) myMethodTakingPredicate:BOOL (^predicate)(int)
私が試した他の組み合わせを思い出せません。
3
goshdarnblocksyntax.com
—
カイルクレッグ