0

言葉遊びアプリでOffline Dictionaryを使っていますが、オフライン辞書としては良い製品です。今日、私はある状況に遭遇しました。文字「A」で始まり、4 文字のみを含むランダムな単語が必要です。必要な基準を取得するために以下のコードを試しましたが、基準が何度も失敗するため、これはあまり役に立ちません。

Lexicontext *dictionary = [Lexicontext sharedDictionary];
NSString *word = [dictionary randomWord]; 

このコードでも同じ失敗

Lexicontext *dictionary = [Lexicontext sharedDictionary];
NSDictionary *words = [dictionary wordsWithPrefix:@"A"];

単語辞書で基準をチェックしています。これにより正確な出力が得られますが、ここで見つかった唯一の問題は、デバイスで単語dict を取得するのに時間がかかることです(〜13秒)。

質問:

  1. 開始文字と必要な単語の文字数を渡して単語を取得する方法はありますか?

  2. 誰かがIOS用のオフライン辞書をいくつか提案してくれます。

4

1 に答える 1

0

NSString *単語 = [辞書のランダム単語];

制限なしで辞書からランダムな単語を返します。

一方、実行中

NSDictionary *words = [dictionary wordsWithPrefix:@"A"];

約 1800 個の形容詞、400 個の副詞、500 個の動詞の結果が返され、おそらく遅すぎるでしょう :)

このような検索では、名詞の結果は返されず、警告がログに出力されます。したがって、このようなケースを防ぐために、検索を制限することをお勧めします。必要に応じて、事前に複数の 2 文字のプレフィックス検索 ('aa'、'ab'、'ac'、...) を実行し、結果をキャッシュすることができます。

于 2013-09-29T09:49:12.720 に答える