私は辞書の配列を持っています。各辞書には、個々のオーディオトラックに関するデータが含まれています。私のアプリは星評価システムを使用しているため、ユーザーは1〜5個の星を追跡できます。各辞書には、次のように、トラックごとに独自の評価データがあります。
avgRating
(例:4.6)rating_5_count
(トラックが受け取った5つ星の評価の数を表す整数)rating_4_count
rating_3_count
rating_2_count
rating_1_count
アプリでトップチャートテーブルを作成しようとしています。オブジェクトをでソートした新しい配列を作成していますavgRating
。を使用してオブジェクトを並べ替える方法は理解してNSSortDescriptors
いますが、ここで問題が発生しています...
並べ替え記述子としてのみ使用するavgRating
場合、トラックが5つ星の評価を1つだけ受け取ると、チャートの一番上にジャンプし、4.9のトラックを数百票で打ち負かします。
トップチャート配列でこれを防ぐために最小投票数を設定することはできますが、これは行いたくありません。その後、ユーザーが増えるにつれて、最小投票数を変更する必要があります。
これは少し主観的ですが、配列を効果的にソートする方法について他に何か提案はありますか?