在Objective-C中,init方法(即类的指定初始值设定项)和initialize方法之间有什么区别?应该在每个中放入什么初始化代码?
在你的一个Objective-C课程中实现+ initialize或+ load方法时,你应该始终从这种防守开始吗?:
@implementation MyClass
+ (void)initialize {
if (self == [MyClass class]) {
...
}
}
...
@end
Run Code Online (Sandbox Code Playgroud)
看起来像+ load和+ initialize中的代码通常只想执行一次.所以这有助于避免子类加载/初始化时的重复执行.
我想我只是想从一些ObjC巫师那里得到一些强化,这是必要/常见的做法......
这是什么常见的智慧?你会建议总是这样做吗?
对于+ load和+ initialize,你的建议是否相同,或者它们应该如何处理?
谢谢.