【发布时间】:2015-08-18 21:37:09
【问题描述】:
一般来说,我听说使用组合比使用继承更好,但我并不总是很清楚如何做到这一点。我想创建一些在我的所有视图控制器中通用的功能(我想监听一个 NSNotification,如果它收到通知则调用一个方法)。
我的想法是创建一个每个 UIViewController 都从中扩展的 BaseViewController。出于多种原因,我很乐意以任何其他方式解决这个问题,而不是继承
- 一些视图控制器扩展 UIViewController 和一些扩展 UITableViewController
- 如果我用 swift 编写它,objc 视图控制器就不能继承它
- comp 继承的一般原因 - 更容易理解行为
我的问题是 - 我如何在不将大量代码复制并粘贴到每个视图控制器中的情况下完成此操作?我显然可以在每个视图控制器 viewDidLoad 方法中插入一行,以添加一个侦听器,并在每个视图控制器 delloc 中插入一行,但我真的宁愿避免这种情况。有没有其他技术可以让这个更干净?
【问题讨论】:
标签: ios objective-c inheritance