【问题标题】:RestKit / Core Data -- reset objects in backing store, not updateRestKit / Core Data - 在后备存储中重置对象,而不是更新
【发布时间】:2013-06-04 19:52:07
【问题描述】:

在我的 iOS 应用程序中更新本地后备存储中的对象时遇到问题。假设我有一个对象(JSON 格式)

{
  attr1: 'Hello',
  attr2: 'World'
}

我的 iOS 应用中对应的 NSManagedObject 有两个属性:NSString *attr1 和 attr2。在此初始 JSON 推送中,对象在 attr1 和 attr2 中获得正确的值“Hello”和“World”。我的后端服务器消息中的下一条返回以下 JSON:

{
  attr1: 'Hello2'
}

这会将我的对象的 attr1 更新为“Hello2”,但我的 attr2 保持不变(即“World”)。我希望这被取消。换句话说,我不想对我的 NSManagedObject 进行“更新”,而是想要完全重置。有没有办法做到这一点?我尝试了一些方法,例如显式取消属性和保存 NSManagedObjectContext,但这种方式似乎并没有持续下去。我错过了什么吗?

【问题讨论】:

    标签: ios core-data restkit restkit-0.20


    【解决方案1】:

    你在做正确的事。 “手动”无效化(或通过在 NSManagedObject 子类中自动执行此操作),并保存以持久化。

    如果您没有看到预期的结果,则错误一定是您保存的方式或显示数据的方式。或者,您的对象可能在显示之前再次更新。

    【讨论】:

    • 是的,似乎这是唯一的方法(至少现在是这样)。
    猜你喜欢
    • 2015-02-02
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 2021-11-17
    相关资源
    最近更新 更多