0

我在我的 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,但这种方式似乎并没有持续下去。我错过了什么吗?

4

1 回答 1

1

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

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

于 2013-06-04T22:12:22.863 回答