我有一个CoreData模型,我可以插入一些字符串作为新行。然后我的NSFetchedResultsController
类型返回.Insert
。
但是当我改变我的数据时:
let uri = NSURL(string: "My Object ID")!
let mID = self.managedObjectContext!.persistentStoreCoordinator!.managedObjectIDForURIRepresentation(uri)
let oldM = try self.managedObjectContext!.existingObjectWithID(mID!) as! Soft
oldM.info = "New data"
有时NSFetchedResultsController
不会发送.Update
,但有时效果很好。是什么原因?有没有办法强制更新NSFetchedResultsController
?
更新 我试着检查这段代码是否正在调用
func controllerWillChangeContent(controller: NSFetchedResultsController) {
print("test 1")
}
func controllerDidChangeContent(controller: NSFetchedResultsController) {
print("test 2")
}
这两个值我只有当NSFetchedResultsController发送一些类型.Update .Insert所以我甚至不更新tableView,也许我可以添加观察然后更新我的行。
答案 0 :(得分:0)
您使用此代码处理的某些操作可能不会更新表数据。您通常需要调用tableView.reloadData()来获取屏幕上的更新。