【问题标题】:multiple inheritance from classes类的多重继承
【发布时间】:2015-12-14 09:22:57
【问题描述】:

我的主类继承自另外两个类。首先是我的主要课程:

class login: customMessage,BaseViewController ,UITextFieldDelegate  {
...
}

baseViewController 继承自 UIViewController

然后我有 customMessage 类,它也继承自 UIViewController 。 这两个类都需要从UIViewController 继承,当我在同一个类中继承它们时,它给了我这个错误:

从 customMessage 和 baseViewController 类的多重继承

我应该如何解决它?

【问题讨论】:

  • 我相信 Swift 是单继承的,就像 Objective-C 一样。
  • @Avi ,是的,但是解决方案是什么?
  • 您可以让customMessage 继承自BaseViewController,然后让login 继承自customMessage。或不。您的实施和要求有太多遗漏,无法给出答案。您还可以将公共位重构为具有默认实现的协议,并在有意义的地方使用它。

标签: ios swift inheritance uiviewcontroller


【解决方案1】:

在 swift 中,您的类可以仅从单个类继承。 您可以查看协议和面向协议的编程。 另一种解决方案是:

// Class A inherits from UIViewController
class A: UIViewController
// Class B inherits from A and also from UIViewController
class B: A

在您的示例中,您说您的主类继承自 BaseViewController,后者继承自 UIViewController,因此如果您想创建另一个继承自 BaseViewControllerUIViewController 的类,您只需要这样做:

class A: BaseViewController

这也让它继承自 UIViewController

【讨论】:

    猜你喜欢
    • 2014-12-27
    • 2017-02-04
    • 2015-01-18
    • 1970-01-01
    • 2019-04-14
    • 1970-01-01
    • 2011-10-15
    • 2019-12-13
    • 2017-06-14
    相关资源
    最近更新 更多