【发布时间】:2016-07-15 13:27:11
【问题描述】:
我正在使用 NSFetchedResultsController 和 DATAStack。如果我在其他上下文中进行任何更改,我的 NSFetchedResultsController 不会更新我的表。
我在我的 NSFetchedResultsController 中使用 dataStack.mainContext。如果我从 mainContext 进行任何更新,一切都很好。但是如果我写这样的代码,例如:
dataStack.performInNewBackgroundContext({ (backgroundContext) in
// Get again NSManagedObject in correct context,
// original self.task now in main context
let backTask = backgroundContext.objectWithID(self.task.objectID) as! CTask
backTask.completed = true
let _ = try? backgroundContext.save()
})
NSFetchedResultsController 不会更新单元格。例如,如果我重新加载应用程序或整个视图,我将看到更新的数据。
数据保存没有错误(我查过了)。
我尝试检查是否收到 NSManagedObjectContextDidSaveNotification,但如果我在收到通知后执行 .performFetch(),我会再次在表中获取旧数据。
【问题讨论】:
标签: swift core-data nsfetchedresultscontroller