ios - 从核心数据删除后重新加载表格 View

标签 ios swift uitableview core-data

当单击按钮时,我正在删除 CoreData 中的所有项目,但应用程序将在删除后崩溃并给出此错误

fatal error: unexpectedly found nil while unwrapping an Optional value

我尝试过的代码:

if let rf = response{
    let fetchRequest = NSFetchRequest()
    fetchRequest.entity = NSEntityDescription.entityForName("Cart", inManagedObjectContext: moc)
    fetchRequest.includesPropertyValues = false
    let context:NSManagedObjectContext = appDel.managedObjectContext
    let moc = context
    do {
        if let results = try moc.executeFetchRequest(fetchRequest) as? [NSManagedObject] {
            for result in results {
                moc.deleteObject(result)
                self.tableView.reloadData()
            }
            try moc.save()
            
        }
            } catch {
                print("FAILED")
            }
}

              

最佳答案

您需要重新初始化数组或从数组中删除所有对象,然后在 for 循环 之后重新加载表,如下所示。

for result in results {
    moc.deleteObject(result)        
}
try moc.save()
yourArray = [NSManagedObject]() //The array that you have used with UITableViewDataSource method
//OR
yourArray.removeAll()
self.tableView.reloadData()

关于ios - 从核心数据删除后重新加载表格 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39079173/

相关文章:

swift - 从 LinkingObjects 列表中删除特定对象 - Realm Swift

ios - 用 map 实现customView的正确方法

iOS 更新 TableViewCell 约束

iphone - 格式化大量音频文件的最有效方法

ios - 是否可以隐藏或替换已编译的第三方库的 NSLog() 函数,该库不断向我的日志中喷射调试?

swift - iOS View 中的 MVC 设计与模型对话 - Swift - 以编程方式

ios - 如何使用 IndexPathsForSelectedRows?

iphone - 如何找到准确的手机信号强度和服务提供商名称?

ios - 如何将数据从iOS中的数据模型存储到核心数据中,并以数据模型的格式获取

ios - 如果在 UIWebView 中单击链接,则更改网站的外观 - Swift