And*_*ite 15 overriding subclass objective-c
在Objective C中,如果你是子类的东西,并且计划覆盖超类的方法,你应该在你的子类@interface中重新声明超类方法吗?
例如,如果您是UIViewController的子类(例如MyViewController),并且您计划覆盖"viewDidLoad",您是否应该在MyViewController @interface声明中包含该方法,或者只是在MyViewController.m中实现它?
在我遇到的例子中,我已经看到它完成了两种方式(在子类接口中重新声明方法,或者不重新声明方法).可能没有任何功能差异,但最佳做法是什么?
Jas*_*oco 26
我经常声明我计划在公共标题中或至少在私有类别中覆盖的方法.这样做的好处是,如果您忘记实际覆盖方法,您将获得一个不完整的类定义警告......这会不时派上用场.
至于何时将其置于公共标题中,这是非常主观的,可能取决于您/您团队的编码风格.我通常只重新声明公共标题中的方法,如果我计划从根本上改变方法将要做的事情,或者我打算不调用超类的方法版本.
| 归档时间: |
|
| 查看次数: |
14271 次 |
| 最近记录: |