故事板和子类
Storyboards and subclasses
我在 iOS 工作了一段时间,但主要从事从未使用故事板的项目。一切都在代码中,我对 Storyboards 不是很熟悉。
我正在尝试了解如何实现 BaseTableViewController
并让我所有的 table 视图控制器子类化它。我想在这个超类中保留一个 tableView
。
假设我从 BaseTableViewController
中创建了 FirstTableViewController
和 SecondTableViewController
子类。我将 tableViews 添加到每个,以便我可以为每个不同的子类设置我的 Protoype Cells。然后我在故事板中添加并连接这些。
我感到困惑的是,现在我在每个子类 VC 的情节提要中都有 table 视图,但是我想保留超类 table 视图作为唯一table查看。
如何调和?
我建议您将 table 视图原型单元放在 Xib 文件中,而不是将它们放在故事板原型中。这样您就不必在 BaseTableView 子类中创建 table 视图。您使用如下代码在 Tableview 控制器子类的 viewdidload 中注册 table 视图单元
let cellNib = UINib(nibName: "xibfileforTableViewCell", bundle: NSBundle.mainBundle())
tableView.registerNib(cellNib, forCellReuseIdentifier: cellReuseIdentifier)
您仍然可以像故事板一样使用 xib 文件中的出口
我在 iOS 工作了一段时间,但主要从事从未使用故事板的项目。一切都在代码中,我对 Storyboards 不是很熟悉。
我正在尝试了解如何实现 BaseTableViewController
并让我所有的 table 视图控制器子类化它。我想在这个超类中保留一个 tableView
。
假设我从 BaseTableViewController
中创建了 FirstTableViewController
和 SecondTableViewController
子类。我将 tableViews 添加到每个,以便我可以为每个不同的子类设置我的 Protoype Cells。然后我在故事板中添加并连接这些。
我感到困惑的是,现在我在每个子类 VC 的情节提要中都有 table 视图,但是我想保留超类 table 视图作为唯一table查看。
如何调和?
我建议您将 table 视图原型单元放在 Xib 文件中,而不是将它们放在故事板原型中。这样您就不必在 BaseTableView 子类中创建 table 视图。您使用如下代码在 Tableview 控制器子类的 viewdidload 中注册 table 视图单元
let cellNib = UINib(nibName: "xibfileforTableViewCell", bundle: NSBundle.mainBundle())
tableView.registerNib(cellNib, forCellReuseIdentifier: cellReuseIdentifier)
您仍然可以像故事板一样使用 xib 文件中的出口