本段文字摘翻自《Cocoa Design Patterns》,个人认为是一本好书。
编写类的初始化函数时,需要注意以下五点:
1. 确保类的Designated Initializer中,调用了父类的Designated Initializer函数。
2. 父类的Designated Initializer函数的返回值保存在变量self中。
3. 第2步结束后,如果self的值为nil,不可继续初始化操作。
4. 确保子类覆写(override)了父类的Designated Initializer函数。
5. 确保类里的每个非Designated Initializer的初始化函数都会调用Designated Initializer。
如第4点所要求,子类继承父类时,须知道父类的Designated Initializer函数。
下面列出常被继承的Cocoa类的Designated Initializer函数。
| Class | Designated Initializer |
|---|---|
| NSObject | -init |
| NSView | -initWithFrame: |
| NSCell | -initImageCell: & -initTextCell: |
| NSControl | -initWithFrame: |
| NSDocument | -init |
| NSWindowController | -initWithWindow: |
本文深入探讨了Cocoa设计模式中类初始化函数的重要性,并提供了关键点指南,帮助开发者正确初始化类实例,避免常见错误。文章还列举了常被继承的Cocoa类的初始化函数,为开发者提供实用参考。
439

被折叠的 条评论
为什么被折叠?



