我目前正在学习Swift,并尝试在用户点击应用程序呈现的其中一个tableview单元格时执行segue。目前,无论用户何时执行此操作,下一个视图控制器都会成功加载,但似乎出于某种原因,我无法访问其任何UI元素,因为每次我尝试这样做时,我都会结束收到此错误:在tableview单元格上执行segue时出现问题
致命错误:意外发现零而展开的可选值
错误指向,我尝试修改显示在一个标签的文本行下一个视图控制器
这是didSelectRowAt功能:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath){
self.performSegue(withIdentifier: "segue1", sender: self)
}
,这是prepareForSegue功能:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "segue1" {
let destinationVC = segue.destination as! UserViewController
let selectedRow = tableView.indexPathForSelectedRow!
let selectedCell = tableView.cellForRow(at: selectedRow) as! CustomCell
destinationVC.usernameLabel.text = selectedCell.userName.text //this is where the error is pointing to
destinationVC.bioLabel.text = selectedCell.bio.text
destinationVC.userImage.image = selectedCell.photo.image
}
}
我不知道是什么原因造成这个问题的想法。我的目标是将数据从窃听单元传递到下一个视图控制器,但显然这阻止了我这样做。有谁知道我该如何解决这个问题?提前致谢。
嗨,迈克。你在使用静态或动态的'UITableView'单元吗? –
我正在使用动态单元格。 –
@Mike Vaugh,使用'destinationVC.usernameLabel.text = selectedCell.userName.text ?? “”' – aircraft