title: Conflicting parameter types in implementation of 'Login:': '__strong id' vs '__strong Callback' (aka 'void (^__strong)(RESTResponse *__strong)')
body: <p>very fresh to objective C, cant figure out what i am missing.</p>
  
  <p>.h file </p>
  
  <pre><code>#import &lt;Foundation/Foundation.h&gt;
  #import "RESTResponse.h"
  typedef void (^Callback)(RESTResponse*);
  
  @interface AquaUser : NSObject
  
  ....
  
  -(void)Login:Callback;
  -(void)Register:Callback;
  
  
  @end
  </code></pre>
  
  <p>.m file </p>
  
  <pre><code>-(void)Login:(Callback) handler
  {
  ...
   RESTResponse *result = [RESTResponse new];
           result.sucesss = true  ;
           result.response = @"Login succesfull";
           handler(result);
  ...
  }
  </code></pre>
  
  <p>in .m i get warning on the declaration of Login and register
   Conflicting parameter types in implementation of 'Login:': '_<em>strong id' vs '</em>_strong Callback' (aka 'void (^_<em>strong)(RESTResponse *</em>_strong)')</p>
  
  <p>although code compile and work, i am tryinf to learn the lesson here. help appreciated.</p>