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