我目前正在学习Swift,并尝试在应用程序呈现的表格视图单元格之一被用户点击时执行转场。目前,每当用户执行此操作时,下一个视图控制器成功加载,但由于某种原因,我无法访问其任何UI元素,每次尝试这样做时,都会出现以下错误:
致命错误:在解包可选值时意外发现nil
该错误指向我尝试修改下一个视图控制器上显示的标签之一文本的行。
这是didSelectRowAt函数:
致命错误:在解包可选值时意外发现nil
该错误指向我尝试修改下一个视图控制器上显示的标签之一文本的行。
这是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
单元格? - Justin RosedestinationVC.usernameLabel.text = selectedCell.userName.text ?? " "
。 - aircraftselectedRow
?如果它是nil
?如果您使用了取消选择操作。 - aircraft