gpt4 book ai didi

ios - iOS 基础 View Controller 的组合与继承

转载 作者:行者123 更新时间:2023-11-28 17:51:35 25 4
gpt4 key购买 nike

一般来说,我听说使用组合比继承更好,但我并不总是很清楚如何做到这一点。我想创建一些在我的所有 View Controller 中通用的功能(我想监听 NSNotification,并在收到通知时调用一个方法)。

我的想法是创建一个 BaseViewController,每个 UIViewController 都从中扩展。出于多种原因,我很乐意通过继承以外的任何其他方式解决此问题

  • 一些 View Controller 扩展了 UIViewController,一些扩展了 UITableViewController
  • 如果我用 swift 编写它,objc View Controller 不能将它子类化
  • comp over inheritance 的一般原因 - 更容易理解行为

我的问题是 - 如何在不将大量代码复制并粘贴到每个 View Controller 的情况下完成此操作?我显然可以在每个 View Controller 的 viewDidLoad 方法中插入一行,以添加一个监听器,并在每个 View Controller delloc 中插入一行,但我真的宁愿避免这种情况。是否有其他技术可以使它更清洁?

最佳答案

在 Swift 2.0 中,您可以使用带有默认方法实现的协议(protocol)。但在这种情况下,继承对我来说是最好的方法。

关于ios - iOS 基础 View Controller 的组合与继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32083000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com