uiviewcontroller 中的双表视图

Posted

技术标签:

【中文标题】uiviewcontroller 中的双表视图【英文标题】:Double table view in uiviewcontroller 【发布时间】:2018-03-11 15:12:54 【问题描述】:

大家好,我是这个组的新成员,我想创建一个应用程序,它有一个 tableview 控制器作为主控件,当触摸单元格时,在 uiview 控制器中打开一个 tableview,该控制器有一个添加项目的按钮。我该如何做才能使数据正确流动?

【问题讨论】:

【参考方案1】:

为了做到这一点,需要做几件事。

1.a) 在情节提要中,创建您的 tableView 控制器viewController。还为您的两个控制器创建一个可可触摸文件。

1.b) 在 ViewController 中,添加一个对象 'tableView' 并为该对象添加一个 outlet。 然后在 ViewController 的 'ViewDidLoad' 方法中,设置 tableView.delegate = selftableView.dataSource = self。 您的 ViewController 必须继承 2 个协议 (class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource) 这将添加两个函数来处理您的第二个 ViewController 的 tableView 中显示的数据。

1.c) 创建一个generic segue(通过将控件从tableView Controller拖到ViewController)并将其命名为'YourSegue'

2) 在 tableview 控制器 中,重写函数:override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) 并添加以下行:performSegue(withIdentifier: "YourSegue", sender: nil),这将打开第二个 ViewController。

3) 另外,如果您想将数据从第一个 TableView 控制器发送到您的第二个 ViewController,您应该重写方法 'prepare(for segue:)',它允许您实例化您的 secondviewController 的变量。

希望这会有所帮助。

【讨论】:

以上是关于uiviewcontroller 中的双表视图的主要内容,如果未能解决你的问题,请参考以下文章

最佳实践:将大小类用于单表视图到双表视图

从 swiftUI 中的一个嵌入式 UIViewController 导航到 swift UI 中的另一个嵌入式 UIViewcontroller

Django之ORM查询进阶

我应该以MVP模式将我的视图投射到iOS上的演示者中的UIViewController吗?

UI 多个视图控制器(UIViewController)间的 协议传值

将 UIViewController 的 UI 扩展到子 UIViewControllers