核心数据 - 单个实体的多个条目

时间:2013-03-11 20:53:03

标签: objective-c ios5 core-data magicalrecord

所以在我的应用程序中,我有一个名为Cards的实体和另一个名为Transactions的实体。

交易实体具有以下属性:日期,位置和金额。因此,如果用户在10个地点花钱,我需要在交易中为一张卡片提供10个条目。

我刚开始使用Core Data而且它变得一团糟。

我还使用MagicalRecord处理Core Data。

我能够CRUD卡实体,添加,更新等......都很好。

问题是,我需要将交易添加到卡中,并且不知道如何从这种关系开始。如何将交易添加到卡中,然后获取所有交易卡?

非常感谢任何见解。

2 个答案:

答案 0 :(得分:1)

如果我理解你,那么你就建立了他们之间的关系。

卡 - >交易是To-Many关系。有关此选项,请参阅xcode中的右侧窗格。 添加一个反转。始终添加反转。所以你有一个不是To-Many的关系 交易 - >卡 对?每笔交易只有一张卡?

其余答案取决于您访问数据的方式。我建议为每个实体创建一个模型类。你知道如何?单击实体,然后转到文件/新建/文件,选择核心数据,然后选择NSManagedObjectSubclass,它将为您创建。此类具有添加相关项的方法。

myTransaction.card = myCard;
分别 [myCard addTransactionsObject:myTransaction];

当然假设myCard和myTransaction是类,并且你的一对一关系被命名为card,而to-many关系被命名为事务。

答案 1 :(得分:0)

只需设置从CardTransaction实体的一对多关系,然后使用该关系简单地获取所有(之前通过[card addTransactionsObject:newTransaction]调用添加的)事务:{ {1}}。

不要忘记添加从card.transactionsTransaction的反向关系! enter image description here