致命错误:在打开可选值时意外发现nil(滑动导航)

时间:2016-07-31 15:25:44

标签: ios swift uitableview

我知道这个问题已经被多次询问了,但我检查了各种答案中的所有可能问题,但仍然无效。

我正在尝试将自定义单元格添加到表格视图中,但会显示此错误消息并且应用程序崩溃:

Fatal error: unexpectedly found nil while unwrapping an Optional value

以下是我添加表视图的视图控制器的代码:

import UIKit

class VC0: UIViewController, UITableViewDelegate, UITableViewDataSource {

@IBOutlet weak var myTableView: UITableView!

var names = ["Artist name", "Artist Name", "Artist name", "Artist name", "Artist name", "Artist name"]
var cities = ["City", "City", "City", "City", "City", "City"]
var images = [UIImage(named: "avatar"), UIImage(named: "avatar1"), UIImage(named: "avatar2"), UIImage(named: "avatar3"), UIImage(named: "avatar4"), UIImage(named: "avatar5")]

override func viewDidLoad() {
    super.viewDidLoad()

    self.myTableView.registerClass(CustomCell.self, forCellReuseIdentifier: "cell")
    self.myTableView.dataSource = self
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return names.count
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = self.myTableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! CustomCell

    cell.photo.image = images[indexPath.row]
    cell.name.text = names[indexPath.row]
    cell.city.text = cities[indexPath.row]


    return cell
}

}

此行显示错误:

cell.photo.image = images[indexPath.row]

如果您想查看完整代码,可以使用以下项目:http://dl.dropboxusercontent.com/s/frhaniuw5e36xej/swipeViews%20-%20copie.zip?dl=0

1 个答案:

答案 0 :(得分:2)

您使用registerClass会覆盖故事板中原型单元格的创建。来自UITableView文档:

  

如果您以前使用相同的重用标识符注册了类或nib文件,则在cellClass参数中指定的类将替换旧条目。

相反,您需要创建新的空白CustomCell实例,而这些实例并没有连接您的网点。删除该行,事情应该有效。