如何在UITableView中修复“意外找到零”

时间:2019-05-08 14:06:06

标签: ios swift uitableview custom-cell

我做了一个简单的项目,只是尝试使用自定义UITableView实现UITableViewCell,但是每次项目运行时,它都会得到

  

“致命错误:在隐式展开一个   可选值”

并且Xcode说我的UITableView为零。我如何解决它? Swift版本是5.0,Xcode版本是10.2.1。

我想我已经学习了使用自定义UITableViewCell实现UITableView所需的所有知识,但是它不起作用。实际上,我一遍又一遍地做了这样的事情,但是由于某种原因,这次失败了。

我写了如下的UITableView的register()函数dequeueReusableCell()函数,以确保重用标识符没有错误并且其他用法正确。

我断开了xib和它的所有者类之间的IBOutlet,然后又创建了一个新类。

我确保xib文件中没有引用出口,该文件的所有者类中缺少相应的变量。

我删除了DerivedData文件夹中的所有内容,重新启动了MacBook和Xcode并执行了“清理项目”。

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {




@IBOutlet weak var myTableView: UITableView!

override func viewDidLoad() {
    super.viewDidLoad()

    self.myTableView.register(UINib.init(nibName: "myTableViewCell", bundle: nil), forCellReuseIdentifier: "myCell")

    // Do any additional setup after loading the view.
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 5
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
   let cell = tableView.dequeueReusableCell(withIdentifier: "myCell") as! myTableViewCell
    cell.mymyLabel.text = "Yay!"
    return cell
}

myTableViewCell类:UITableViewCell {

@IBOutlet weak var mymyLabel: UILabel!
override func awakeFromNib() {
    super.awakeFromNib()
    // Initialization code
}

override func setSelected(_ selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)

    // Configure the view for the selected state
}

}

变量myTableView每次都为nil,尽管不是应该为零。 您可以从Github下载我的项目,包括上面的代码并为我运行吗?如果您能给我结果,或者让我知道我现在没有意识到的任何错误,我将不胜感激。 https://github.com/Satoru-PriChan/CustomCellTest

0 个答案:

没有答案