相关疑难解决方法(0)

Objective-C:init vs initialize

在Objective-C中,init方法(即类的指定初始值设定项)和initialize方法之间有什么区别?应该在每个中放入什么初始化代码?

initialization objective-c init initializer

72
推荐指数
2
解决办法
3万
查看次数

+初始化/ +加载总是以:if(self == [MyClass class])后卫开始吗?

在你的一个Objective-C课程中实现+ initialize或+ load方法时,你应该始终从这种防守开始吗?:

@implementation MyClass

+ (void)initialize {
    if (self == [MyClass class]) {
        ...
    }
}

...
@end
Run Code Online (Sandbox Code Playgroud)

看起来像+ load和+ initialize中的代码通常只想执行一次.所以这有助于避免子类加载/初始化时的重复执行.

我想我只是想从一些ObjC巫师那里得到一些强化,这是必要/常见的做法......

这是什么常见的智慧?你会建议总是这样做吗?

对于+ load和+ initialize,你的建议是否相同,或者它们应该如何处理?

谢谢.

iphone macos cocoa objective-c

10
推荐指数
2
解决办法
1686
查看次数

标签 统计

objective-c ×2

cocoa ×1

init ×1

initialization ×1

initializer ×1

iphone ×1

macos ×1