title: Declare a block method parameter without using a typedef
body: <p>Is it possible to specify a method block parameter in Objective-C without using a typedef?   It must be, like function pointers, but I can't hit on the winning syntax without using an intermediate typedef:</p>
  
  <pre><code>typedef BOOL (^PredicateBlock_t)(int);
  - (void) myMethodTakingPredicate:(PredicateBlock_t)predicate
  </code></pre>
  
  <p>only the above compiles, all these fail:</p>
  
  <pre><code>-  (void) myMethodTakingPredicate:( BOOL(^block)(int) ) predicate
  -  (void) myMethodTakingPredicate:BOOL (^predicate)(int)
  </code></pre>
  
  <p>and I can't remember what other combinations I've tried.</p>