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 = self
和 tableView.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
我应该以MVP模式将我的视图投射到iOS上的演示者中的UIViewController吗?