NSManagedObject changedValues忽略字符串值

时间:2014-03-14 14:07:39

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

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

首先保存managedObjectContext,然后更改属性,然后调用changedValues。

此属性为:非瞬态,可选,未编入索引,无默认值。

编辑:对于帮助人员来说,我在代码中发现了一个错误。现在它工作得很好。

2 个答案:

答案 0 :(得分:2)

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

我正在使用委托方法从另一个viewController更新对象。当从viewController返回时,我在viewWillAppear中保存了managedObjectContext,它基本上擦除了changedValues。

答案 1 :(得分:1)

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

NSManagedObject Class Reference

  

changedValues

     

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