xcode - 线程1:EXC_BAD_ACCESS

时间:2015-08-06 15:15:55

标签: ios swift uitableview debugging

ViewController加载时出现此错误。 我不知道,我能做什么 EXC_BAD_ACCESS

loadDataFromDb函数是这个

func loadDataFromDb() {
    let fetchRequest = NSFetchRequest(entityName: "Chats")
    daten = self.context!.executeFetchRequest(fetchRequest, error: nil) as! [Model]
    tableView.reloadData()
}

我用Google搜索了这个错误,但没有任何帮助我

1 个答案:

答案 0 :(得分:0)

dequeueReusableCellWithIdentifier返回一个可能为nil的可选项。

使用UITableViewCell强制转换为as!,以便将nil转换为UITableViewCell并最终调用nil上的方法,从而导致异常。

尝试展开单元格,在使用之前使用if let或者更好地使用dequeueReusableCellWithIdentifier(_ identifier: String, forIndexPath indexPath: NSIndexPath) -> AnyObject,但不会返回可选项。

同样作为一个整体,尽量远离!并且不要使用它,除非你绝对不得不这样做。

编辑:

这是一种方法

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    if let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as? UITableViewCell {

        cell.textLabel?.text = "Text"

        return cell
    }

    return UITableViewCell()
}