タイトルが問題を最もよく表しているかどうかはわかりません。より適切な説明がある場合は、タイトルを編集してください。
そこで、商品注文を扱うアプリを実装しています。各注文には「明細」、つまり各製品の注文情報があります。REST API 呼び出しから取得した「品目」の JSON データは次のようになります。
JSON データ:
"line_item":{
"id":1234, // Product ID
"name":"Cliff Bar",
"sold_price":12.00,
"sold_quantity":25
}
CoreData オブジェクト (JSON 形式):
"line_item"{
"product":{
"id":1234,
"name":"Cliff Bar",
"description":"Awesome food",
"inventory_level":12,
"standard_price":11.00
},
"sold_price":12.00,
"sold_quantity":25
}
ご覧のとおり、「id」と「name」は販売された製品の「識別子」、いわば「主キー」に似ています。(CoreData には主キーの概念がありませんが、RestKit のような概念はありません) REST API から JSON 情報を取得すると、パフォーマンス上の懸念から line_item オブジェクト内の製品オブジェクトが実際に「折りたたまれ」ました。
質問 1: どのように対処すればよいですか?
製品が存在しない場合、「id」および「name」null 以外のキー値を持つ新しい製品オブジェクトを作成しますか? そして、必要に応じて完全な製品オブジェクトを取得します。それは良いアプローチですか?
これらの不完全なオブジェクトを作成せず、CoreData オブジェクトを JSON オブジェクトと同じように定義したままにしておくと、残念ながら、CoreData 内のオブジェクト間に強い関係はありません。
より良い解決策がある場合は提案してください!
質問2:
質問 1 の答えが「はい」の場合、2 つのキー値 (「name」と「id」) を 1 つの新しく作成されたオブジェクト (「line_item」内の「product」の「id」と「name」) のフィールドにマップするにはどうすればよいですか? ? どのチュートリアルでも、これに関する情報は見つかりませんでした。
あなたがこの問題にどのようにアプローチするかを聞くのが大好きです. ありがとう!