Objective-C:init与初始化
在Objective-C中, init
方法(即指定类的initialize
方法)和initialize
方法有什么区别? 什么初始化代码应该放在每个?
-init
是一个实例方法,用于初始化一个特定的对象。 +initialize
是一个类方法,在类的任何实例被创build之前以及其他类方法运行之前运行。 +initialize
并不是你大部分时间使用的东西,但是对于设置类作为一个整体可能使用的任何静态variables,或者在创build任何实例之前确保满足某些条件都是很方便的。
属于-init
方法的代码在Objective-C编程语言的实现初始化程序部分有详细的描述。 还有一些关于初始化类的讨论(即+initialize
),以及为什么你可能需要在类对象部分的同一个文档中这样做。 进入+initialize
的代码通常会与需要初始化的类的特殊function密切相关。 在+initialize
(以及任何类方法)中要记住的一件重要的事情是,类方法中的self
指的是类本身,而不是类的实例。
为了为Java开发人员绘制一个并行程序,init就像一个构造函数,而initialize就像一个类的静态块。