【问题标题】:NSManagedObject changedValues ignoring string valueNSManagedObject changedValues 忽略字符串值
【发布时间】:2014-03-14 14:07:38
【问题描述】:

我有一个 NSManagedObject 的子类,其中有一个“货币”属性。该属性是一个 3 个字母的字符串。当我将它从“USD”更改为“CAD”,然后在对象上调用changedValues 时,changedValues 返回一个空字典。这是正常的行为吗?

我先保存managedObjectContext,然后修改属性,再调用changedValues。

该属性是:非瞬态、可选、未索引、无默认值。

编辑:感谢帮助我在我的代码中发现错误的人。现在它工作得很好。

【问题讨论】:

  • 你能显示一些关于值变化的代码吗?

标签: ios cocoa-touch cocoa core-data nsmanagedobject


【解决方案1】:

我在我的代码中发现了一个错误。现在它工作得很好。 ;)

我使用委托方法从另一个 viewController 更新对象。从那个 viewController 回来后,我将 managedObjectContext 保存在 viewWillAppear 中,这基本上删除了 changedValues。

【讨论】:

  • 答案没有用。请分享一些上下文。
  • 不要忘记尽可能将其标记为已解决。
【解决方案2】:

在保存上下文之前执行此操作。

NSManagedObject Class Reference

改变的值

返回一个包含键和(新)值的字典 自上次获取以来已更改的持久属性或 保存接收者。

【讨论】:

  • OP 正在在保存上下文之前这样做
  • 是的,刚刚注意到这一点。忽略这个答案。
猜你喜欢
  • 1970-01-01
  • 2014-12-05
  • 2016-07-30
  • 2020-10-27
  • 1970-01-01
  • 2019-05-26
  • 1970-01-01
  • 1970-01-01
  • 2016-01-14
相关资源
最近更新 更多