0

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

Transaction 实体具有以下属性:Date、Location 和 Amount。因此,如果用户在 10 个地点消费,我需要在单张卡的交易中输入 10 个条目。

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

我还使用 MagicalRecord 来处理 Core Data。

我能够对卡片实体进行 CRUD、添加、更新等……一切都很好。

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

任何见解将不胜感激。

4

2 回答 2

1

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

Card -> Transaction 是一个多对多关系。有关此选项,请参见 xcode 中的右侧窗格。添加一个逆。总是添加一个逆。所以你有一个非多对多关系交易-> 卡对吗?每次交易只有一张卡?

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

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

当然假设 myCard 和 myTransaction 是类,并且您的一对一关系被命名为 card 并且对多关系被命名为 transactions。

于 2013-03-11T21:01:57.433 回答
0

Card只需设置从到实体的一对多关系Transaction,然后[card addTransactionsObject:newTransaction]使用该关系简单地获取您的所有(之前通过调用添加的)事务:card.transactions.

不要忘记添加从Transactionto的反比关系Card在此处输入图像描述

于 2013-03-11T21:04:54.400 回答