在UITableViewController上使用UIViewController类

时间:2016-03-14 20:30:33

标签: ios iphone swift uiviewcontroller uikit

我有一个继承自UIViewController的Swift类,我想知道是否有任何方法可以在UITableViewController上使用相同的类来避免重复。

class GradientViewController: UIViewController {
    // My class
}

有没有办法在UITableViewController上使用这个类,如此?

class MyTableViewController: GradientViewController {
    // My table view controller
}

提前致谢

1 个答案:

答案 0 :(得分:0)

Swift只支持单继承。

您可以使用协议来避免重复。

protocol YourProtocolName {
    // Protocol stuff
}

class GradientViewController: UIViewController, YourProtocolName {
    // Implement protocol requirements
}

class MyTableViewController: UITableViewController, YourProtocolName {
    // Implement protocol requirements
}

如果它有意义,你甚至可以使用协议扩展来提供默认实现,这样符合类型就不需要添加任何代码来符合。