最初に自分がやろうとしていることを説明してから、質問をする必要があると思います。
バックグラウンド
大量の単語があります (最大 5,000 になる可能性があります)。これらの単語のランダムな3つを画面に表示できるようにしたいのですが、ユーザーがボタンを押すと、別の3つのランダムな単語が表示されますが、重複はありません(つまり、同じ単語をユーザーに再度表示することはありません)。これは、タイマーが切れるまでループします。
考えられる解決策
単語数が少ない場合は、これらを NSMutableSet に追加し、-anyObject を 3 回使用して単語を取得し、そのたびにセットから 3 つの単語を削除して、次に呼び出すときに再び使用されないようにします。 -任意のオブジェクト。これに関する問題は、iOS で 5,000 個の NSString を含むセットを使用できるかどうかわからないことです。
質問
だから私の質問は
- iOS で約 5,000 個の文字列を含むコレクション オブジェクト (NSSet、NSArray、NSDictionary) をパフォーマンスの問題なく使用できますか?
- そうでない場合、ファイルから文字列のサブセットを読み取って許容可能な配列サイズを取得し、その配列を空にしたときにさらに引き出すにはどうすればよいでしょうか?
- これらの文字列を保存する最良の方法は何ですか? 言葉だけなので、それほど長いものではありません。各行に文字列を含むファイルにそれらを追加し、アプリケーションのロード時にそれらをコレクション オブジェクトに読み込むことを考えていました。
前もって感謝します。