ios - 如何防止未初始化数据的快速 CoreData 崩溃

标签 ios uitableview swift core-data

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

我收到错误消息,指出数组索引超出该行的范围

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

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

最佳答案

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

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

关于ios - 如何防止未初始化数据的快速 CoreData 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30473295/

相关文章:

ios - 为什么我的 UITableView 在插入或删除行时出现 "jump"?

iphone - 寻找关于将 Pre-Storyboard 代码 (XCode4) 移动到 Storyboard 代码 (XCode5) 的教程

ios - Swift 中的隐式成员表达式

ios - 使用 UIImage RenderingMode AlwaysTemplate 在 iPhone 6 上显示不同的颜色

ios - 无法使用 Forecastr 包装器的 JSON 结果

ios - 获取具有最近日期的对象

ios - 如何滚动到 UITableViewCell 的底部而不是 TextField

ios - 快速导入 CoreGraphics.CGBase VS。导入 CoreGraphics 导致 LLDB 发生故障

ios - Realm 多对多查询(逆向也是!)

ios - Json - 准备继续查看详细信息