我在想,在项目中我们何时使用"init"方法?我看到许多项目没有使用它,而是使用"applicationDidFinishLaunching"来启动应用程序,但没有使用init方法,你对此有什么想法吗?
非常感谢。
非常感谢。
init
方法用于在分配对象后初始化对象。如果未定义,则会调用基类实现,与Objective-C中的任何其他方法一样。如果基类没有init
方法,则将调用基类的基类的init
方法,以此类推,直到调用NSObject
的init
方法为止,这是肯定已提供的。init
方法,则无法正确初始化类中的ivars(如果有)。applicationDidFinishLaunching
,这是一个非常特殊的类的方法,任何Cocoa/iOS应用程序都有它,它是应用程序委托。例如: @interface myAppDelegate : NSObject <UIApplicationDelegate> {
...
}
除非您想进行一些自定义初始化,否则不需要实现init方法。
文档中提到:
子类应该重写init方法以添加特定于类的初始化代码。init的子类版本需要通过向super:发送消息来合并它们从中继承的类的初始化代码:
nil
,但我认为为了可读性和可维护性,如果你有实例变量,最好定义一个init
方法。还请阅读我对“交互”部分的编辑... - sergio