一般表查看问题

时间:2015-06-05 10:16:39

标签: ios swift uitableview

我在理解一般级别的多个视图控制器(特别是多个表视图)之间的多个segue时遇到了一些麻烦。即使在查看响应并尝试搜索连接到不同表视图的表视图的示例之后,我仍然找不到可靠的解释,并且想知道是否有人可以为我澄清。我不完全确定合法或非法的整体逻辑和可转换性,所以请大家带着我的两种情况,让我知道我是否有错误的假设!

TableViewExample

我有两种可能的情况试图在“表格视图控制器”中为每一行实现不同的表格视图单元格 - 不同单元格的示例在右侧的蓝色框中突出显示。

第一个场景,我想的是制作三种不同类型的原型单元,并且根据我是否可以检查哪个indexPath选择了“表视图控制器”,我可以从“列表”中创建合适的单元格。子视图控制器“通过使用单元标识符。

第二,我打算通过“View Controller#1 /#2 /#3”制作图像中描绘的三个不同的独立视图控制器,并创建一个适合每一行的原型单元格。考虑到“主视图控制器”中的单元格是完全相同的,并且创建单独的视图控制器似乎有点多余,我对这种方法几乎不感兴趣。这样,我可以通过segue标识符告诉每个“子视图控制器列表”单元格类型。

如果场景#1正确,当我正在Swift中查看“子视图控制器列表”时,如何从“表视图控制器”获取单元标识符?

2 个答案:

答案 0 :(得分:0)

据我了解,这两种情况都有效。

  

如果场景#1正确,当我正在Swift中查看“子视图控制器列表”时,如何从“表视图控制器”获取单元标识符?

didSelectRowAtIndexPath

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    ...
    let cell = tableView.cellForRowAtIndexPath(indexPath)!
    let reuseIdentifier = cell.reuseIdentfier
    ...
}

(注意,上面的代码中的可选处理不是最佳的,我留给你)

另一方面,我不确定以这种方式使用reuseIdnetifier是最好的事情。

我会代表模型中的单元格类型,然后使用该信息来决定要转移的内容。

答案 1 :(得分:-1)

我是ios architech分析师。表格视图是ios中最重要的概念。您要创建一个表格视图单元并完成注册。 您的tableView Controller.section didSelectRowat填充的数据数组选择行(如果indexpath.row == 0)转到第一个viewController序列号,并且(如果indexPath.row == 1)转到第二个viewcontroller.selected数据发送到您的viewcontrollers(准备序列)