私はちょうどココアを習っているので、私に同行してください。私はCore Dataに関するいくつかのチュートリアルを行ってきましたが、RailsをRailsアプリケーションで使用するためにRESTkitに取り組んでいます。私はまた、RESTkit wikiページ(すべてのiOS SDK:高度なRestKit開発は非常に便利でした)ですべてのドキュメント、ソリューションのレシピを読んでいます。(複雑な)リレーションシップとコアデータ/ RAILSを持つRestkit
簡潔にするために、この問題では非常に限られた数のモデル/関係を使用します。
は、私は次のモデルがあるとします。会社、人物、以下の関係を持つ言語:
company many-to-many person
language 1-to-many person
とRailsとiOSアプリの両方が同期していること。
ある時点で、既存の会社および既存の言語に関連するRailsアプリに新しい人物が紹介されます: Steve Jobs> Disney、Steve Jobs>英語 同時に新しい人が新しい会社に追加され、新しい言語 などが追加されます。 Anna Kourinikova> Nike、Anna Kournikova>ロシア語
どうすれば同期ソリューションをセットアップできますか?私はすべての新しい人々のJSONダンプを求めることができます:
[{"person": {
"id": 123,
"name": "Steve Jobs",
"language": {
"id": 1,
"name": "English"
},
"company": {
"id": 1,
"name": "Disney"
}
}},
{"person": {
"id": 124,
"name": "Anna Kournikova",
"language": {
"id": 22,
"name": "Russian"
},
"company": {
"id": 47,
"name": "Nike"
}
}}]
今私の質問に:
1)することができます(とどのようにはいている場合)新会社と言語を作成し、リンクRESTkit?。私は既存の会社にとっては問題ではないと考えていますが、新しいものはまだ私のコアデータには存在しません。
2)現実世界のアプリケーションのようにすべての会社と言語のデータを含める必要性を回避する手段があるため、既存のものに人が追加されている場合、iOSデバイスに既に存在するデータの膨大なオーバーヘッド企業
3)は、すべての新しい言語、新しい企業すべてを最初に取得し、それから関連している言語/企業のIDだけで、新しい新しい人を取得するアプローチかもしれません私はRESTkitが自動的に行うことができない多くのことを手動で行っていないのですか?
4)既存の人物が第2の会社にリンクしている場合はどうなりますか?
これは非常に現実的な世界のように思えますが、ドキュメントには似たような例がないのが奇妙だと思います(この件に関するチュートリアルを書くつもりです。あなたの助け)
ありがとうございます。私はあなたを正しく理解している:オプション1)は、帯域幅を節約し、オプション2)JSONを分解し、3)で説明した方法を使用するとバンド幅は減少するが、手作業ですべてを接着する必要があるマッピングAPIのconnectRelationship –