NSManagedObject无法更改属性

时间:2015-03-26 19:15:33

标签: ios core-data

我遇到了CoreData(使用MagicalRecord)尝试更改属性的问题。我认为这是对象与两个父实体有关系的结果。

该对象是手册,它与汽车具有多对多关系。 包含所有手动对象。 汽车有1-3个手动项目。

每个手册都有一个UID,汽车之间共享相同的对象。

出于某种原因,一旦将对象设置为两者的关系,我就无法更改手册标题(NSString)属性。

我检查过以确保我处于相同的环境中。不确定是什么问题。

这就是我记录的内容:

NSLog(@"Manual Title: %@",manual.title);
 //prints Old Manual 

manual.title = @"New Manual"
NSLog(@"Manual Title: %@",manual.title);
 //prints New Manual 

我将这个保存在MagicalRecord saveUsingCurrentThreadContextWithBlockAndWait中的其他不相关的NSManagedObjects正在保存。

当应用将数据加载到用户界面时,它仍会显示"旧手册"

有什么建议吗?

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

事实证明,我使用的MagicalRecord方法的问题是双重的:

1)我应该使用saveUsingCurrentThreadContextWithBlockAndWait

而不是saveWithBlockAndWait

2)当我拿取手动对象时,我没有传递上下文,因此我将MR_findFirstWithPredicate更改为MR_findFirstWithPredicate:inContext

希望这会为别人节省一些时间