我有一个名为DetailTableViewController的tableviewcontroller,我需要将数据传递给名为DetailTableViewController的下一个tableviewcontroller。但是我需要在用户单击DetailTableViewController的单元格时传递数据。然后,我收到错误消息,“在展开一个Optional值时意外发现nil”。请帮助我在Swift 3中进行分类。
最佳答案
首先在详细视图控制器中创建一个变量,以保存从第一个视图控制器发送的值。然后在第一个视图控制器的didSelectRowAt
方法内分配值,然后以编程方式导航。这样,您无需实现prepare for segue
方法来发送数据。
您只需要实现didselectrowat
方法。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let selected = firstArray[indexPath.row]
let detailvc = self.storyboard?.instantiateViewController(withIdentifier: "DetailTableViewController") as! DetailTableViewController
detailvc.type = selected
self.present(detailvc, animated: true, completion: nil)
}
我从头开始为您创建了一个视频教程。 how to pass data from one table view controller to another。希望对您有帮助。
关于ios - 将数据从tableviewcontroller发送到detailviewcontroller,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42739412/