我可能在这里缺少一些基本知识,但是我有两个ViewControllers
(称为ListController
(启动VC)和ExamplesController
,还有一个名为selectedCell
的变量,该变量在{ {1}},然后根据用户点击的行,通过ListController
ListController
函数在tableView
中更改其值。当用户点击一个单元格时,将显示didSelectRowAt indexPath
(通过IB中的segue),但是直到我回到ExamplesController
时,selectedCell
的值才会改变。所以现在执行的顺序是:
ListController
初始化为0用户点击一个单元格(假设索引3)
selectedCell
的标题为0用户返回到
ExamplesController
ListController
被赋予值3
这是代码的简化版本。
selectedCell
有什么想法我在做什么错吗?
答案 0 :(得分:1)
您需要将segue从vc本身而不是单元格中挂起,并在didSelectRowAt
内部使用
self.performSegue(withIdentifer:"SegueName",sender:indexPath.row)
func prepare(for segue: UIStoryboardSegue,sender: Any?) {
if segue.identider == "SegueName" {
let des = segue.destination as! ExampleVC
des.selectedCell = sender as! Int
}
}