2011-06-18 15 views
1

私は複数の言語をサポートするiPhoneアプリケーションを開発しています。かなりのデータ、特に画像があります。アプリケーションの最初の起動時に、私は各データ要素のNSManagedObjectを作成します。たとえば、特定のイメージ(イメージパス名)とそのイメージの特定のキーを格納するNSManagedObjectがあります。キーは同時にイメージの名前です(例:私はパリのエッフェル塔のイメージを持っているので、キーは「エッフェル塔」です)。iPhone - 多言語検索

それに加えて、私は検索を実装したいと思います。 「エッフェル塔」を検索すると、パリのエッフェル塔の画像が表示されます。これまですべてが完璧に機能しています。

あなたが気づいたように、イメージキーは英語です。イメージキーで直接検索すると、英語のみがサポートされます。イメージキーの検索はできないことは分かっています。 私はNSLocalizedStringに精通していますが、そこにキーがあり、そのキーで適切な言語で式を取得できます。だから私は親切な "逆NSLocalizedString"関数を考えました。最終的な表現があり、フランス語(Tour Eiffel)で言えば、その式に基づいて元の画像キーを取得して正しい画像を表示できます。そのような機能が存在するのか、自分で何かをコード化する必要がありますか?適切な戦略と自分のアプリケーションでの戦略を教えていただければ幸いです。

答えて

1

私が作成したアプリでは、検索可能なフィールドとobjectIDを持つ検索エンティティがありました。次に、各言語のすべてのテキストをそのエンティティのインスタンスとして追加しました。それから私はその "テーブル"を検索することができました。このようにして、同義語や他のキーワードを追加することもできます。

検索インデックスの一種と考えてください。