0

私のiPhoneアプリでは、現在、約1000の英語の単語をplistに保存し、そこから取得しています(また、一致する1000の単語の2番目のリストもあります)。

これはある程度うまく機能していますが、少し扱いに​​くくなっています。CoreDataの使用経験は少しありますが、各単語オブジェクトに2つの単語(一致する単語)を指定し、単語に関連するグループオブジェクトを作成して、グループで管理できるようにすることで、どのように役立つかを確認できます。私はそれが理にかなっていると思います。

しかし、それだけのデータがあると、フェッチは遅くなりますか?もっと良い方法はありますか?コアデータも事前に入力することをお勧めします(ユーザーがアプリを使用するときに単語が存在するため、何も追加する必要はありません)。

より良い解決策を見つける必要があります。

明確にするために、これは私が達成する必要があることです:

  • 約のリストを持っています。1000ワード(ペアを含めると2000)
  • 各単語にはパートナーの単語が必要です(ペアで来るように)
  • これらをアプリにハードコーディングして、ユーザーが「行く」という言葉から存在できるようにする必要があります。
  • そしてもちろん、誰もが望んでいるように(当然のことながら)考えられる最も簡単な管理ソリューションが必要です。
4

2 に答える 2

1

Core Data を使用する方が plist よりもはるかに簡単である理由がよくわかりません。いずれにせよ、何らかの方法でリストを作成する必要があります。plistをハードコーディングしてNSDictionaryとしてロードするのと同じくらいうまくいくように思えます。

または、より簡単に編集したい場合は、いつでも Excel を使用してコンマ区切り値ファイル (csv) を作成し、その方法で作成することができます。次に、csv ファイルをバンドルに含めて、アプリの起動時にファイルをロードする簡単な方法を作成し、それをすべてのキー値の NSArray に変換できます。

NSArray *keysAndValues = [myString componentsSeparatedByString:@","];
NSMutableArray *words = [NSMutableArray arrayWithCapacity:(keysAndValues.count / 2)];
for (int i = 0; i < keysAndValues.count; i += 2) {
    [words addObject:[NSDictionary dictionaryWithObject:[keysAndValues objectAtIndex:i+1] forKey:[keysAndValues objectAtIndex:i];
} 
于 2012-11-19T12:47:32.403 に答える
0

CoreDataで1000ペアの単語を使用した場合のパフォーマンスは問題になりません。OTOH、単純なファイルでもSQLiteデータベースでもありません。

維持するのが最も簡単なものと、ある程度、アプリがそれらをどのように使用するかに基づいて決定することをお勧めします。(つまり、これらのペアをオブジェクトとして使用しない場合は、テーブルルックアップの方がCore Dataよりも適している可能性があります。)

于 2012-11-19T12:34:25.020 に答える