在Swift 中使用 load 和 initialize 方法

在Swift 中使用 load 和 initialize 方法

从Swift4.x之后,load和initialize方法都不能使用了,如果必须要使用的话,只能通过Objective-C调用

Swift:

1
2
3
4
5
6
7
8
9
class MyClass: NSObjct {
@objc class func swiftLoad() {
// load
}

@objc class func swiftInitialize() {
// initialize
}
}

Objctive-C:

1
2
3
4
5
6
7
8
@implementation MyClass (Private) 
+ (void)load {
[self swiftLoad];
}
+ (void)initialize {
[self swiftInitialize];
}
@end

不过既然Swift禁用了这个方法,肯定是有道理的,尽量还是不用吧