0

RestService から取得した次の JSON 構造があります。

{
    "customer": {
        "id": "123456",
        [more attributes ....]
        "items": [
            {
                "id": "1234",
            },
            {
                "id": "2345",
            }
            [more items...]
        ]
    }
}

RestKitを使用してCore Dataに正常にマップしました。別の RestService (これは変更できません) から、items 配列内の 1 つのアイテムの詳細を取得します。JSONの答えは次のようになります

{
    "customer": {
        "id: "123456",
        "item": {
            "id": "1234",
            "name": "foo",
            [other attributes...]
        }
    }
}

ここで質問: 単一のアイテムがアイテム配列に追加されるように (または既にそこにある場合は更新されるように)、2 番目の回答をどのようにマップできますか?

アイデアをありがとう!

4

2 に答える 2

0

適切なオブジェクトを設定するprimaryKeyAttributeと、必要に応じRKManagedObjectMappingてマッピングを実行できるはずです。マッピングコードの一部を投稿していただければ、実際には簡単にお手伝いできますが、これが私が意図した方法です

  1. 顧客オブジェクトのマッピングを作成し、考えられるすべての属性を定義して、mappingObject.primaryKeyAttribute = @"id"
  2. 最初のリクエスト(または最初の回答)でマッピングを実行します
  3. 最初のマッピング手順が完了したら、2 番目のリクエストを実行します

これにより、最初に必要な顧客オブジェクトが作成され、次に更新されます。

于 2012-05-02T15:22:36.623 に答える
0

JSON を Core Data にマップする方法を既に知っている場合は、アイテム属性を追加したいオブジェクトを (id などを使用して) 取得し、それを設定するか、古いものを書き換えるか、新しいフィールドを追加するだけです。それはあくまでも一般的な方法です

于 2012-04-24T09:48:18.543 に答える