私は、SQLite データベースからランダムな単語を引き出すことを中心に構築された iOS 単語ゲームに取り組んでいます。
だから私は1つのテーブルWordsを持っています、私は次のようにX個のランダムな単語を引き出します:
SELECT Word FROM (SELECT Word FROM Words ORDER BY RANDOM() LIMIT @limit) ORDER BY LENGTH(Word)
問題は、ベータ版のユーザーが十分にランダムではないという不満を持っていることです。多くの場合、同じ単語を引っ張っているように見えますが、まったく引っ張らない単語もあります。
私がやっていることに代わるものはありますか?SQLite の RANDOM() がおそらく最適ではないことはわかっています。3,000 を超える単語があるため、すべての単語をメモリにロードする必要はありません。
PS - 私のアプリは MonoTouch を使用して C# でビルドされていますが、確実に Objective-C (または疑似コード) の回答を得ることができます