ios - 在 UITableViewController 上使用 UIViewController 类

标签 ios iphone swift uiviewcontroller uikit

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

class GradientViewController: UIViewController {
    // My class
}

有什么方法可以像这样在 UITableViewController 上使用此类吗?

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

提前致谢

最佳答案

Swift 仅支持单继承。

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

protocol YourProtocolName {
    // Protocol stuff
}

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

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

如果有意义,您甚至可以使用协议(protocol)扩展来提供默认实现,以便符合类型不需要添加任何代码来符合。

关于ios - 在 UITableViewController 上使用 UIViewController 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35997477/

相关文章:

ios:我想创建包含我所有联系人的 .vcf/vcard。我该怎么做呢?

ios - SceneKit 或 ARKit 的动态纹理 API

iphone - 分配给 'ViewController' 的指针类型不兼容

ios - flutter 音频播放器播放声音在 IOS 中不起作用

ios - 我应该使用哪个文件夹来保存应用程序拍摄的用户照片

ios - 如何在 Swift (Xcode) 上通过代码显示屏幕?

ios - 从 TableView Controller 处理多个 Segues 错误。

iphone - UISearchBar - "search results button"是做什么用的?

ios - 快速将 UILabel 添加到 UITextView

ios - 在某些设备上难以将像素缓冲区写入 Assets 编写器