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

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

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

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

-(void)justSayGoodBye NS_REQUIRES_SUPER;
#import <Foundation/Foundation.h>

@interface FKAnimals : NSObject

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

-(void)justSayGoodBye NS_REQUIRES_SUPER;

@end
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容