iOS开发中指定初始化方法,禁用init

379 阅读1分钟

指定初始化方法宏:
NS_DESIGNATED_INITIALIZER

不允许调用者乱用宏: NS_UNAVAILABLE

示例:


- (instancetype)initWithDelegate:(id<JXPagerViewDelegate>)delegate NS_DESIGNATED_INITIALIZER;

- (instancetype)init NS_UNAVAILABLE;

- (instancetype)initWithFrame:(CGRect)frame NS_UNAVAILABLE;

- (instancetype)initWithCoder:(NSCoder *)aDecoder NS_UNAVAILABLE;

这时如果调用init方法,就会编译错误 提示:

image.png