0

したがって、私のアプリには、CardsというエンティティとTransactionsという別のエンティティがあります。

トランザクションエンティティには、日付、場所、金額の属性があります。したがって、ユーザーが10の場所でお金を使う場合、1枚のカードのトランザクションに10のエントリが必要です。

Core Dataを使い始めたばかりですが、面倒になっています。

また、MagicalRecordを使用してCoreDataを操作しています。

カードエンティティをCRUDすることができました。追加、更新などはすべて良好です。

問題は、トランザクションをカードに追加する必要があり、この関係から始める方法がわからないということです。カードにトランザクションを追加してから、すべてのトランザクションでカードをフェッチするにはどうすればよいですか?

任意の洞察をいただければ幸いです。

4

2 に答える 2

1

私があなたを正しく理解していれば、あなたはそれらの間に関係を確立します。

カード->トランザクションはTo-Many関係です。このオプションについては、xcodeの右側のペインを参照してください。逆数を追加します。常に逆を追加します。それで、あなたは多対多ではない関係の取引->カードの権利を持っていますか?トランザクションごとに1枚のカードしかありませんか?

残りの答えは、データへのアクセス方法によって異なります。エンティティごとにモデルクラスを作成することをお勧めします。どうやって知ってる?エンティティをクリックしてからfile/new / fileに移動し、コアデータを選択してからNSManagedObjectSubclassを選択すると、作成されます。このクラスには、関連アイテムを追加するためのメソッドがあります。

myTransaction.card = myCard;
それぞれ[myCardaddTransactionsObject:myTransaction];

もちろん、myCardとmyTransactionがクラスであり、to-oneリレーションがcardという名前で、to-manyリレーションがtransactionsという名前であると仮定します。

于 2013-03-11T21:01:57.433 に答える
0

Cardからエンティティへの1対多の関係を設定し、その関係を使用してすべての(以前は呼び出しTransactionによって追加された)トランザクションを取得するだけです。[card addTransactionsObject:newTransaction]card.transactions

Transactionからへの逆関係を追加することを忘れないでくださいCardここに画像の説明を入力してください

于 2013-03-11T21:04:54.400 に答える