0
我創建簡單NSBatchUpdateRequest
:如何通知我的NSFetchedResultsController,我通過NSBatchUpdateRequest更改了一些對象?
let bur = NSBatchUpdateRequest(entityName: "WLWishlist")
bur.predicate = NSPredicate(format: "name = %@", "oldname")
bur.propertiesToUpdate = ["name": "newname"]
bur.resultType = .UpdatedObjectsCountResultType
,然後執行它們:
do {
let result = try NSManagedObjectContext.MR_defaultContext().executeRequest(bur) as? NSBatchUpdateResult
print("------------- \(result!.result)")
} catch {
print("error")
}
在控制檯上的輸出是:
------------ - 可選(6)
但是我的NSFetchedResultsController
w這些管理着同樣的東西,不知道這事變了。如何通知NSFetchedResultsController
關於此?
等待,如果執行讀取和抹去的獲取控制器高速緩存,並執行在相同的上下文中取數據控制器,你爲什麼需要合併的對象,並迫使其故障,並進行批量要求另一個提取?我目前的經驗表明,如果您執行抓取,則會反映出正確的結果。這忽略了我對每個人建議在批量請求中強制執行錯誤的方式感到困惑的事實。如果你正在更新1000條記錄,我懷疑你想要迭代和錯誤1000個對象的性能。 – TheCodingArt