Swift:变量获取值的顺序错误

时间:2019-03-10 19:59:29

标签: ios swift variables variable-assignment

我可能在这里缺少一些基本知识,但是我有两个ViewControllers(称为ListController(启动VC)和ExamplesController,还有一个名为selectedCell的变量,该变量在{ {1}},然后根据用户点击的行,通过ListController ListController函数在tableView中更改其值。当用户点击一个单元格时,将显示didSelectRowAt indexPath(通过IB中的segue),但是直到我回到ExamplesController时,selectedCell的值才会改变。所以现在执行的顺序是:

  

ListController初始化为0

     

用户点击一个单元格(假设索引3)

     

selectedCell的标题为0

     

用户返回到ExamplesController

     

ListController被赋予值3

这是代码的简化版本。

selectedCell

有什么想法我在做什么错吗?

1 个答案:

答案 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
  }
}