【发布时间】:2015-09-20 02:15:41
【问题描述】:
我有一个 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,也许我可以添加观察然后更新我的行。
【问题讨论】:
-
看看stackoverflow.com/a/16296365/1187415,这可能是解决您问题的可能方法。