如何防止未初始化数据上的swift CoreData崩溃

时间:2015-05-27 04:38:39

标签: ios uitableview swift core-data

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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