gpt4 book ai didi

swift - 如何在子类中覆盖 tableView 样式

转载 作者:行者123 更新时间:2023-11-28 05:36:26 25 4
gpt4 key购买 nike

我有一个在很多地方使用的父类(super class),它只是一个符合 tableView 委托(delegate)的类。


class SuperTableViewController: UITableViewDataSource, UITableViewDelegate {

var tableView: UITableView = {

let tableView = UITableView(frame: .zero, style: .plain)

return tableView
}()

... //more code

}

我想创建一个继承自 SuperTableViewController 的子类,但它应该具有分组样式,我不确定如何覆盖子类中的 tableview 样式:


class SubClassController: SuperTableViewController {

override func viewDidLoad() {
super.viewDidLoad()

tableView = UITableView(frame: .zero, style: .grouped) // this doesn't work
}

... //more code

}

最佳答案

您可以在 SuperTableViewController 中引入一个 tableView 样式属性,如下所示,并在子类中覆盖。这样您就不必初始化整个 tableView 或在子类中完全注册单元格。

class SuperTableViewController: UITableViewDataSource, UITableViewDelegate {

var tableViewStyle: UITableView.Style {
return .plain
}

lazy var tableView: UITableView = {
let tableView = UITableView(frame: .zero, style: self.tableViewStyle)
return tableView
}()
}

class SubClassController: SuperTableViewController {

override var tableViewStyle: UITableView.Style {
return .grouped
}
}

关于swift - 如何在子类中覆盖 tableView 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58516222/

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