IOS中自定义类中限制使用原生实例化方法

在自定义的类中,除了有系统自带的实例化方法外,还可能会有开发者自定义的实例化方法。当不想使用系统自定义方法时,而仅使用自定义的实例化方法时,可以这样做下限制。

如下示例所示:

#import <UIKit/UIKit.h>

@interface MYView : UIView

// 限制使用系统方法进行实例化
// 方法1
- (instancetype)init UNAVAILABLE_ATTRIBUTE;
// 方法2
- (instancetype)init __attribute__((unavailable("init 方法不可用,请用 initWithName:")));
- (instancetype)initWithFrame:(CGRect)frame __attribute__((unavailable("initWithFrame 方法不可用,请用 initWithName:view:")));

// 自定义实例化方法
- (instancetype)initWithFrame:(CGRect)frame view:(UIView *)view;

@end

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

02-02 09:25
查看更多