我有两个tableVIEwControllers – 第一个包含一个账单号码列表,第二个应该显示有关账单的详细信息,具体取决于选择了账单号码的哪个单元格.
在我的第一个tableVIEwController中,我使用它从单元格中获取bill的编号并将其传递给detailtableVIEwController:
overrIDe func tableVIEw(_ tableVIEw: UItableVIEw,dIDdeselectRowAt indexPath: IndexPath) { let indexPath = tableVIEw.indexPathForSelectedRow let currentCell = tableVIEw.cellForRow(at: indexPath!) as! CustomBilltableVIEwCell valuetoPass = currentCell.billNumberLabel.text print(valuetoPass) performSegue(withIDentifIEr: "billsDetailSegue",sender: self)}overrIDe func prepare(for segue: UIStoryboardSegue,sender: Any?) { if (segue.IDentifIEr == "billsDetailSegue"){ let detailController = segue.destination as! BillsDetailtableVIEwController detailController.receivedValue = valuetoPass }}
问题是dIDSelectRowAt函数根本没有被触发,在第一个tableVIEw中的单元格选择之后只准备函数触发器并且它将空值传递给下一个视图.
解决方法 你重写dIDdeselect而不是dIDSelectRowAt. 你可能会设置一个用于点击单元格的segue. 断开它并从整个vIEwController连接segue. 总结以上是内存溢出为你收集整理的ios – swift didSelectAtIndexPath没有被触发全部内容,希望文章能够帮你解决ios – swift didSelectAtIndexPath没有被触发所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)