NSManagedObject changedValues 忽略字符串值
Posted
技术标签:
【中文标题】NSManagedObject changedValues 忽略字符串值【英文标题】:NSManagedObject changedValues ignoring string value 【发布时间】:2014-03-14 14:07:38 【问题描述】:我有一个 NSManagedObject 的子类,其中有一个“货币”属性。该属性是一个 3 个字母的字符串。当我将它从“USD”更改为“CAD”,然后在对象上调用changedValues
时,changedValues 返回一个空字典。这是正常的行为吗?
我先保存managedObjectContext,然后修改属性,再调用changedValues。
该属性是:非瞬态、可选、未索引、无默认值。
编辑:感谢帮助我在我的代码中发现错误的人。现在它工作得很好。
【问题讨论】:
你能显示一些关于值变化的代码吗? 【参考方案1】:我在我的代码中发现了一个错误。现在它工作得很好。 ;)
我使用委托方法从另一个 viewController 更新对象。从那个 viewController 回来后,我将 managedObjectContext 保存在 viewWillAppear
中,这基本上删除了 changedValues。
【讨论】:
答案没有用。请分享一些上下文。 不要忘记尽可能将其标记为已解决。【参考方案2】:在保存上下文之前执行此操作。
NSManagedObject Class Reference
改变的值
返回一个包含键和(新)值的字典 自上次获取以来已更改的持久属性或 保存接收者。
【讨论】:
OP 正在在保存上下文之前这样做 是的,刚刚注意到这一点。忽略这个答案。以上是关于NSManagedObject changedValues 忽略字符串值的主要内容,如果未能解决你的问题,请参考以下文章