Swift 表视图、视图控制器、表单元格无错误

Swift 表视图、视图控制器、表单元格无错误,swift,xcode,uitableview,uiviewcontroller,Swift,Xcode,Uitableview,Uiviewcontroller,我已经创建了一个与我的故事板链接的ViewController。我以前做过,效果很好。这次,当我对表视图和表视图单元格使用几乎完全相同的代码时,它在运行时返回一个nil错误。我不知道确切的原因是什么 // // IngView1.swift // Fake // // Created by Ian Dong on 11/16/20. // import UIKit class IngView1: UIViewController, UITableViewDataSource {

我已经创建了一个与我的故事板链接的ViewController。我以前做过,效果很好。这次,当我对表视图和表视图单元格使用几乎完全相同的代码时,它在运行时返回一个nil错误。我不知道确切的原因是什么

//
//  IngView1.swift
//  Fake
//
//  Created by Ian Dong on 11/16/20.
//

import UIKit

class IngView1: UIViewController, UITableViewDataSource {

    @IBOutlet weak var display: UITableView!
    override func viewDidLoad() {
        super.viewDidLoad()
        display.dataSource = self
    }
    
    var data = ["Oil     5","Beef     3","Chicken     5","Potato     4","Cheese     3","Fish     3","Cabage     4"]
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return data.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        
        let cell = tableView.dequeueReusableCell(withIdentifier: "IngReUse")! // Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value

        let text = data[indexPath.row]
        cell.textLabel?.text = text
        return cell
    }
    
    func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }
}


您确定正确设置了原型单元的标识符吗?您可以在故事板中执行此操作

或者,如果您没有使用原型单元,您可以在代码中注册它

display.register(UITableViewCell.self, forCellReuseIdentifier: "IngReUse")

你能改用这个版本吗?什么意思?我应该调查一下吗?那里有一个重要的黄色警告。你应该用一个标识符注册你的单元格,让它出列。@IanDONG阅读引用然后决定如何?我已经给了我的单元格一个恢复IDI如果你使用原型单元格,你就不能注册该单元格。你是对的,@vadian。谢谢,我编辑了我的答案。