首页 > 解决方案 > 作为 IBOutlet 连接的 UITableView 的自定义初始化

问题描述

我似乎无法在 Apple Developer 文档中找到有关如何正确子类化 a UITableView. 具体来说,我有一个连接到 IBOutlet 的自定义表视图。

我想在视图控制器中对其进行初始化,并在其初始化程序中传递数据源。

我见过很多关于 subclassedUITableViewCell的问题,但没有看到很多关于 subclassed 的问题UITableView

标签: iosswiftuitableview

解决方案


您可以UITableView像在 Swift 中对其他任何东西进行子类化一样进行子类化。

class MyTableView: UITableView {
    //...
}

但是,如果您想创建一个自定义初始化程序并“使用它”,您可以在没有情节提要的情况下以编程方式添加它。故事板使用init?(coder:方法来初始化 tableView。

class MyTableView: UITableView {

    required init?(coder: NSCoder) { // storyboard uses this method
        super.init(coder: coder)
    }
}

如果您想使用自定义初始化程序,那么您应该使用编程方法。


推荐阅读