重写构造方法时让子类重写时提醒调用super(NS_DESIGNATED_INITIALIZER)

如果在声明某个类时,需要一个特定的构造方法,同时需要该类的子类必须调用该特定的构造方法,可以在方法声明后面加上 NS_DESIGNATED_INITIALIZER 例如:

-(instancetype)initWithType:(NSString *)type NS_DESIGNATED_INITIALIZER;

如果不是构造方法,但是也需要调用super,可以再方法声明后面添加NS_REQUIRES_SUPER,例如:

-(void)justSayGoodBye NS_REQUIRES_SUPER;
#import 

@interface FKAnimals : NSObject

-(instancetype)initWithType:(NSString *)type NS_DESIGNATED_INITIALIZER;

-(void)justSayGoodBye NS_REQUIRES_SUPER;

@end

你可能感兴趣的:(重写构造方法时让子类重写时提醒调用super(NS_DESIGNATED_INITIALIZER))