如何使用更新的数据刷新 NSManagedObject - Core Data
Posted
技术标签:
【中文标题】如何使用更新的数据刷新 NSManagedObject - Core Data【英文标题】:How to refresh NSManagedObject with the updated data - Core Data 【发布时间】:2015-04-15 11:53:07 【问题描述】:我目前卡在核心数据中,有一个表格视图和详细信息视图,当我移动到详细信息视图并更新数据库中的一些数据时,数据显示在核心数据 NSManagedObject 的表格视图上,然后我回到上一个屏幕并再次从数据库中检索数据,但核心数据将我恢复为以前的值而不是更新的值,而数据库中的数据已经更新。
非常感谢任何帮助。谢谢!
【问题讨论】:
只是一个健全的检查,你是否保存了上下文? 【参考方案1】:如果您更改您的 NSManagedObject(在同一上下文中),它会更改您的模型。当你在内存中获取或维护它时,检查这两种情况下是否是同一个对象
【讨论】:
为什么要改变你的模型? 是的,我在这两种情况下都使用相同的上下文,但它仍然恢复了旧数据。当我检查数据库时,更新的值仍然存在。 我想说的是,如果您更改 NSManagedObject 属性值,则此更改会在新的 fetch 中看到。【参考方案2】:您的表视图应使用NSFetchedResultsController
并实现NSFetchedResultsControllerDelegate
协议以在基础数据更改时更新表。 Xcode 模板(Master-Detail,检查核心数据)提供了这样一个示例实现,您可以直接复制。
【讨论】:
以上是关于如何使用更新的数据刷新 NSManagedObject - Core Data的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 php 或 javascript 在不刷新页面的情况下自动更新 JSON 数据?