小编Ski*_*kie的帖子

如何在其他视图中重新加载TableView?

我在TableView中使用了一些CoreData基础。

当我尝试清除其他视图中的那些基础时,我的控制台日志中有一条消息。

CoreData:错误:严重的应用程序错误。在调用-controllerDidChangeContent:期间,从NSFetchedResultsController的委托捕获了一个异常。
无效的更新:部分0中的行数无效。更新(0)之后,现有部分中包含的行数必须等于更新(3)之前该部分中包含的行数,再加上或减去该数字从该部分插入或删除的行数(已插入0,已删除0),加上或减去移入或移出该部分的行数(移入0,移出0)。与userInfo(空)

用于删除CoreData数组我使用此代码

self.historyArray.removeAll()
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let managedContext = appDelegate.managedObjectContext
let fetchRequest = NSFetchRequest(entityName: "History")
fetchRequest.returnsObjectsAsFaults = false

do {
    let results = try managedContext.executeFetchRequest(fetchRequest)

    for managedObject in results
    {
        let managedObjectData:NSManagedObject = managedObject as! NSManagedObject 
        managedContext.deleteObject(managedObjectData)
    }
} catch {
    print("Detele all data")
}
Run Code Online (Sandbox Code Playgroud)

我知道我需要重新加载TableView,但是如何在其他View中执行此操作?虐待尝试过此,但此代码不起作用。

var tableViewHistoryClass = HistoryView()
self.tableViewHistoryClass.tableView.reloadData()
Run Code Online (Sandbox Code Playgroud)

请帮助我修复此消息。

core-data tableview reloaddata swift

1
推荐指数
1
解决办法
569
查看次数

标签 统计

core-data ×1

reloaddata ×1

swift ×1

tableview ×1