【发布时间】:2015-08-12 15:58:00
【问题描述】:
我有很多viewcontrollers,它们需要一些与导航相关的通用功能。
之前我创建了一个基类BaseViewController(扩展UIViewController),它具有所有通用功能(例如在viewDidLoad 上执行一些任务等),并且我所有的viewcontrollers 都扩展了BaseViewController。
问题是我的一些viewcontroller 应该是UIViewController 和一些UITableViewController 的子类,所以我不能使用上述方法。
一种方法是为两者编写基类并复制代码。有没有更好的方法不重复代码。
【问题讨论】:
-
您可以尝试创建 UIViewController 的类别,它也可以与 UITableviewController 作为 UIViewController 的子类一起使用。
-
你应该用委托替换继承:sourcemaking.com/refactoring/…。
-
在超类模型中,我可以在 viewdidload 中执行
viewcontroller特定任务...等,而无需在子控制器中编写单行代码。使用类别可以吗?
标签: ios objective-c iphone