import UIKit
class DetailTableViewController: UITableViewController {
var restaurant: Restaurant!
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
imageView.image = UIImage(named: restaurant.image)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
// MARK: - Table view data source
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 4
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("DetailCell", forIndexPath: indexPath) as! DetailTableViewCell
switch indexPath.row{
case 0:
cell.fieldLabel.text = "Restaurant Name"
cell.valueLabel.text = restaurant.name
case 1:
cell.fieldLabel.text = "Restaurant Type"
cell.valueLabel.text = restaurant.type
case 2:
cell.fieldLabel.text = "Restaurant Location"
cell.fieldLabel.text = restaurant.location
case 3:
cell.fieldLabel.text = "Visted?"
cell.fieldLabel.text = restaurant.isVisted ? "Yes":"No"
default:
cell.fieldLabel.text = ""
cell.valueLabel.text = ""
}
return cell
}
}
错误信息: fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb)
Objek
restaurant
tidak dimulakan dan ia tidak mempunyai nilai apabilatableView:cellForRowAtIndexPath
menggunakan objekrestaurant
kemudiannya Anull
` akan melaporkan ralat apabila dibuka.Saya tidak pernah mempelajari Swift, tetapi berdasarkan pengalaman dan mesej ralat oc, saya membuat tekaan berani bahawa anda hanya menulis untuk mendapatkan sel daripada kumpulan penggunaan semula jika tiada sel dalam kumpulan penggunaan semula dan anda tidak melakukannya buat tak tahu, betul ke?
Terjemahan ralat: Apabila nilai pilihan dibongkar, ia didapati sebagai nilai nol, yang bersamaan dengan masalah penuding nol sedikit sebanyak
Anda boleh mencari nilai mana yang belum dimulakan