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

时间:2022-10-17 10:03:20

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

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

如下示例所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#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

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

原文链接:http://blog.csdn.net/potato512/article/details/72625787