title: Objective-C Block return instancetype
body: <p>I want write a property with objective-c that return block and linked call, but how to return instancetype?</p>
  <pre><code>@interface Person : NSObject
  
  @property (nonatomic, weak, readonly) instancetype (^age)(int age);
  @property (nonatomic, weak, readonly) instancetype (^name)(NSString *name);
  
  @end
  </code></pre>
  <p>I Want Person.new.age(10).name(@&quot;Tom&quot;), but instancetype is error in compile time
  So i have to change instancetype to <code>Person *</code> here, but if I write a class subclass of Person, I have to write it again:</p>
  <pre><code>@interface GoodPerson : NSObject
  
  @property (nonatomic, weak, readonly) GoodPerson * (^age)(int age);
  @property (nonatomic, weak, readonly) GoodPerson * (^name)(NSString *name);
  
  @end
  </code></pre>
  <p>So how to use instancetype here?</p>