1 2 3 4 5 6 7 8 9 10 11 12 13
#define NS_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) @class NSString; @interface B1 -(instancetype)init; @end @interface S1 : B1 @property (nonatomic) int prop; +(instancetype)s1; -(instancetype)initWithFoo:(NSString*)foo NS_DESIGNATED_INITIALIZER; @end