表初始化后,dequeueReusableCell返回空单元格

时间:2019-01-28 16:37:19

标签: ios swift uitableview

我有一个表视图,该表视图在加载时初始化为三行。稍后,我要提取单元格数据(从标签中)并在用户选择特定单元格时使用它。

即使初始化工作正常并且我可以看到所有显示的数据,但didSelectRowAt方法中的dequeueReusableCell返回的空单元格也没有数据。

出什么问题了?

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    guard let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? ArticleTableViewCell else {
        fatalError("Whoopse, dequeueing the cell failed")
    }
    let title = cell.articleLabel.text
    // Do other stuff

}

即使标题的数据显示在显示屏上,上面的标题变量也将为空。

1 个答案:

答案 0 :(得分:1)

替换

guard let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? ArticleTableViewCell else {
    fatalError("Whoopse, dequeueing the cell failed")
}

带有(不推荐

guard let cell = tableView.cellForRow(at:indexPath) as? ArticleTableViewCell else {
    fatalError("Whoopse, dequeueing the cell failed")
}

但是## better ##将使用单击的索引访问数据源数组

let item = arr[indexPath.row]