我有一个设置,它在tableViewController中传输信息(所选单元格的索引),以便目标UIViewController可以通过从数组中调用适当的索引来显示标签上的一些文本信息。一切正常。但是,有3个部分,我希望目标UIViewController知道选择了哪个部分。 (即,选择第1部分中的第一个单元格,第2部分中的第一个单元格都返回索引0,但我需要它是可微分的)。我想传递所选部分的值(然后在目标UIViewController中设置if / else语句),但我不确定如何正确地执行此操作。 以下是我对非差异化索引传递的当前代码:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let indexPath = self.tableView.indexPathForSelectedRow
let rowSelectedd = indexPath?.row
let destViewController: Controller = segue.destination as! Controller
destViewController.rowSelected = rowSelectedd!
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
performSegue(withIdentifier: "rowSelected", sender: rowSelectedd)
}
基本上,我如何传递所选单元格部分的值?
答案 0 :(得分:1)
如果目标控制器同时需要所选行的行和部分,则使用IndexPath
属性而不是Int
属性并传递整个indexPath
而不是indexPath.row
1}}。
但为什么目标控制器需要知道索引路径?这是没有意义的。为什么不将该索引路径的实际数据(从数据模型)传递到目标控制器?