核心数据似乎没有采用更新的值
我正在运行一个更新线程,它使用 coredata 更新表。 其中一条记录称为上次更新。但是,当更新完成后,我在主线程中检索最后更新的值时,我得到了一个过时的值。
我这样做:
[NSFetchedResultsController deleteCacheWithName:nil];
在再次查询设置之前,但是我应该/可以做些什么来提醒主线程它应该再次检查物理表?
I am running an update thread which updates a table using coredata.
One of the records is called last-update. But when after the update is finished I retrieve the last-update value in the main thread I get an outdated value.
I do:
[NSFetchedResultsController deleteCacheWithName:nil];
before query-ing the setting again, but is there anything else I should/can do to alert the mainthread that it should check the physical table again?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
听起来您没有将更新同步回主线程的 NSManagedObjectController 中。尝试添加这样的方法:
然后将其连接到 NSManagedObjectContextDidSaveNotification :
It sounds like you're not syncing the updates back into the main thread's NSManagedObjectController. Try adding a method like this:
Then hook that up to the
NSManagedObjectContextDidSaveNotification
: