私のアプリケーションでは、2つの異なるデータモデルが考えられましたが、パフォーマンスとファイルサイズのどちらが最適かはわかりません。私のアプリでは、レシピを保存する必要があります。レシピは、成分を含む配列、命令付きの配列、ヒントを持つ配列、レシピを選択するためのプロパティ(レーティング、料理の種類など)で構成されます。データモデルに関する考え方
私は2つの異なるモデルを考えました。最初は、配列をNSDataに変換してコアデータモデルにすべて格納することです。配列はローカライズされているので、同じ種類の配列が複数存在することを意味します(たとえば、instructionsEN、instructionsFR、instructionsNL)。配列を照会する必要はないので、配列をNSDataに変換しなければならないという事実に満足しています。
もう1つのモデルは、レシピをフィルタリングするためのプロパティと、メインバンドルまたはドキュメントディレクトリに保存されている.plistファイルの識別子のみを含むコアデータです(これらのファイルのいくつかは作成されるため私たちによって、そしていくつかはユーザーによって作成されます)。この.plistファイルには、すべての命令、成分などが含まれます。同じ種類の複数の配列が、異なるローカライゼーションに存在します。
私はこれらのオプションのどれがパフォーマンスとディスクスペースの面で最適なのかを自分の判断で助けてくれることを願っています。あなたが別の解決方法を考えることができたら、私はそれを感謝するでしょう。
したがって、成分エンティティ(コンポーネントエンティティとの関係を持つ)と命令エンティティの両方に多くの関係を持つレシピエンティティを作成する必要があります。これらすべてのエンティティには、ローカライズされたデータのプロパティが含まれています。 – thvanarkel
それは、少なくとも私がそれを攻撃する方法です。パフォーマンスやシンプルさが必要な場合は、リファクタリングに柔軟性をもたらします。そして、あなたは "高性能のレシピ"を見つけるためにすべての指示に違反することを避けることができます。 –