我正在iOS上开发迷你电子商务,我发现我的代码存在问题。
我在第一个屏幕上显示产品,当用户点击某个项目时,它会在另一个屏幕上显示他的数据。
我收到此错误:致命错误:在解包可选值时意外发现nil
我想我的代码会在屏幕加载之前尝试为插座设置值。
我的代码:
FeedOculosTableView.swift
android.app.Fragment;
FeedOculosDetalhesViewController.swift
class FeedOculosTableView: UIViewController, UITableViewDataSource, UITableViewDelegate {
let cellId = "cellId"
var oculosFeed: OculosFeed?
override func viewDidLoad() {
super.viewDidLoad()
oculosFeed = OculosFeed()
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "segueDetalhes" {
if let oculosDetalhe = segue.destination as? FeedOculosDetalhesViewController {
let selectedOculos = self.oculosFeed?.oculos[(sender as! IndexPath).section]?.1[(sender as! IndexPath).row]
oculosDetalhe.oculos = selectedOculos
}
}
}
/*
methods for personalize the table
*/
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: cellId, for: indexPath) as! FeedOculosTableViewCell
cell.oculos = oculosFeed?.oculos[indexPath.section]?.1[indexPath.row]
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
DispatchQueue.main.async(){
self.performSegue(withIdentifier: "segueDetalhes", sender: indexPath)
}
}
}