【发布时间】:2012-03-06 01:12:51
【问题描述】:
我在我的应用程序中使用CoreData,并且我有一组“卡”实体。玩家可以在他的牌组中拥有多张相同的牌(它仍然是从数据库中提取的同一张牌,但两次添加到数组中)。
当我想修改其中一张重复卡片的某个方面时,我的问题出现了。它们都是NSManagedObjects 的子类,其中有一些自定义属性(未保存到数据库中)。例如,当我在数组中的一张卡片上设置其中一个自定义属性时,它也会在数组中的另一张卡片中更改,因为entityForName:inManagedObjectContext: 返回相同的对象并且不加载新对象。
基本上我需要的是,每次调用entityForName:inManagedObjectContext: 时,我都会获得同一个实体的一个新实例,这样当我在一个中修改自定义属性时,它不会在另一个中被修改。如果实体已经创建但它不起作用,我已经尝试使用 [实体副本]。
提前感谢您的帮助!
【问题讨论】:
标签: ios core-data nsmanagedobject nsmanagedobjectcontext