我有一個CoreData模型,我可以插入一些字符串作爲新行。然後我的NSFetchedResultsController
類型返回.Insert
。如何在更改我的上下文後強制NSFetchedResultsController更新
但是,當我改變我的一樣的數據:
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
?
UPDATE 我試圖檢查時該代碼調用
func controllerWillChangeContent(controller: NSFetchedResultsController) {
print("test 1")
}
func controllerDidChangeContent(controller: NSFetchedResultsController) {
print("test 2")
}
,這兩個值我只有當NSFetchedResultsController發送某種類型的.Update .Insert,所以我甚至不更新的tableView,也許我可以添加觀察,然後更新我的行。
看看http://stackoverflow.com/a/16296365/1187415,這可能是您的問題的可能解決方案。 –