1

セットアップ - RestKit を使用し、CoreData ストアにデータを保存する機能を備えています。

2 つの個別の GET 操作を実行しようとしています。

issue/:issueId ==> これは、その ID を持つ Issue オブジェクトが存在すると仮定して、Issue オブジェクトを返します。 issue/:issueId/comment ==> これは、issueId に一致する課題に属する Comment オブジェクトを返します。

したがって、最初の呼び出しでは、問題が返されます。URL に追加のパラメーターを渡した場合にのみ、コメントが返されます。そうでなければ、そうはなりません。もちろん、私がそれを要求した場合、オブジェクトは問題なく作成され、すべてのオブジェクトがコア データ ストアに正しく接続されます。

マッピングしているオブジェクトは次のようになります。

@interface Issue : NSManagedObject
@property (nonatomic) int32_t issueId;
@property (nonatomic, retain) NSSet* comments;
// many other fields not shown.
@end


@interface Comment: NSManagedObject 
@property (nonatomic) int32_t commentId;
// many other fields not shown.
@end

課題にはコメントのコレクションがあります。コメントは、所有する課題について認識していません。

したがって、私がやろうとしているのは、これらの呼び出しの両方が存在できるようにすることだけです。

たとえば、URL で「issueId」が 12345 だとします。したがって、http://example.com/issue/12345 を 1 回呼び出すとデータが CoreData ストアに書き込まれます。(これはうまくいきます、ところで)。次にやりたいことは、「http://example.com/issue/12345/comments」を呼び出し、それらのコメントを CoreData ストアに書き込み、さらに問題 12345 に接続することです。これは既に存在します。悩んでいる部分です。

誰かがこれについてガイダンスを提供できれば、本当に感謝しています。

4

1 に答える 1

0

公式レポでこの問題を読んだ後、次のように進めます。

コアデータモデルに逆関係Comment -> Issueを追加して、Commentインターフェイスが次のようになるようにします

@interface Comment: NSManagedObject 
@property (nonatomic, retain) Issue * issue;
@property (nonatomic) int32_t commentId;
// many other fields not shown.
@end

そして、その関係を必須にします。

たとえば、その関係を追加してマッピングをセットアップする必要があります。

[issueMapping addRelationshipMappingWithSourceKeyPath:@"comments"
                                              mapping:[self commentMapping]];

私の理解が正しければ、RestKit両方の関係 (1 対多Issue -> Commentとその逆) を入力する必要があります。

于 2013-03-20T06:24:35.357 に答える