1

アプリ データを保存する最適な方法を判断するのに苦労しています。

レシピアプリです。

カテゴリ タイトルの NSString 変数を含むカテゴリ クラス オブジェクトの配列と、Recipe クラス オブジェクトの NSMutable 配列 (3 つの NSString 変数を含む) があります。

ここに私のアプリモデルの半視覚的表現があります:

カテゴリの配列には次が含まれます。

  • カテゴリ オブジェクト 1 --> 文字列タイトルとレシピ オブジェクトの可変配列を含む
  • カテゴリ オブジェクト 2 --> 文字列タイトルとレシピ オブジェクトの可変配列を含む

...

ユーザーは新しいレシピを作成でき、レシピ オブジェクトは選択したカテゴリ オブジェクト内に保存されます。

アプリの読み込み時に x 個のカテゴリが作成されます (numberOfCategories int の値によって異なります)。そしてもちろん、再起動時に、レシピを適切なカテゴリ オブジェクトに復元したいと考えています。

あまり混乱しないことを願っています.NSUserDefaultsの方法でNSCodingを実行してカスタムオブジェクトをエンコード/デコードしていましたが、カスタムオブジェクトの配列を含むカスタムオブジェクトの配列があるため、混乱を招きました.

プロジェクトを Core Data を使用するように変換する最善の方法である場合、私はその考えを受け入れますが、それは私のアプリの単純さ (SQLite データベースにカテゴリを事前入力するなど) にとって非常に複雑に思えました。

さらに説明が必要な場合はお知らせください。

4

2 に答える 2

1

CoreDataを使用します。少なくとも2つの別個のエンティティが必要であり、それらの間に関係を確立する必要があるようです(RecipeとRecipeObject)。NSUserdefaultsは、永続化する必要のある少量のデータを格納するのに最適ですが、ユースケースにはあまり適していません。

また、 MagicalRecordMOGeneratorもチェックしてください。これらのオープンソースライブラリはどちらも、CDでの作業をはるかに楽しく生産的にします。

于 2012-05-10T16:48:00.180 に答える
0

オブジェクトを XML としてシリアル化することをお勧めします。これは、階層データを格納するための優れた方法です。

于 2012-05-10T16:28:36.247 に答える