【问题标题】:How to prevent swift CoreData crash on uninitialized data如何防止未初始化数据的快速CoreData崩溃
【发布时间】:2015-05-27 04:38:38
【问题描述】:

我有一个将数据存储在 CoreData 实体中的 UITableView。问题是在检索 UITableViewCell 中的数据时,如果我尝试访问尚未访问的单元格。应用程序将崩溃。如何防止这种情况发生?

我收到错误提示数组索引超出此行的范围

let news = self.newsArray[indexPath.row] // 

如果在尝试通过从 CoreData 实体获取数据来访问缓存版本之前访问并存储在 CoreData 中的所有内容,则应用程序将正常工作。现在我想让它工作,即使其中一些数据尚未初始化,应用程序也不会为用户崩溃,而是什么都不显示。

【问题讨论】:

    标签: ios uitableview swift core-data


    【解决方案1】:

    您需要检查数组在给定索引中是否确实有一个值,为此您可以根据索引值检查数组中的元素数

    if indexPath.row < self.newsArray.count
    { 
        let news = self.newsArray[indexPath.row]
    } else {
        //set details to blank as per example
        //cell.tile.text = ""
    }
    

    【讨论】:

    • 它停止了崩溃,但是出现了一个新问题,它一直在重复使用旧单元格中的数据,而不是什么都不显示。我该如何解决?
    • @chiken 我为你添加更多细节
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    • 1970-01-01
    • 2016-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多