iOS 開発は初めてで、起動時にアプリのデータを効率的にロードする方法がわかりません。私のアプリは、曲のリストが取り込まれた UITableView で構成されています。各セルには、曲に関するデータが表示されます。現在のユーザー評価 (評価されている場合) と平均。ユーザー評価 (すべてのユーザーの平均評価)。バックエンドのデータ ストレージにParseを使用しています。
私のアプリは、起動時に 2 つのクエリを実行します。最初のクエリは曲を取得してテーブルに入力します。次に、平均を計算します。ユーザーの評価 (私のバックエンド スキーマにはカウント オブジェクトが含まれています: rating1_count、rating2_count など。ユーザーが曲を評価すると増加します)。また、曲を個別のデータ モデル配列 (topTracksOfTheWeek、topTracksOfTheMonth、topTracksAllTime) に並べ替えます。
2 番目のクエリは、現在のユーザーが評価したすべての曲を取得します。次に、このクエリを最初のクエリと比較して、ユーザー評価データを最初のクエリに埋め込み、アプリのデータ モデルを形成します。
読み込み時間を最適化するために、最初のクエリを 50 曲に制限したいと思います。ただし、現在のデータ モデルでは、データベース内のすべての曲をクエリして、すべての平均を計算する必要があります。ユーザーの評価を付けてから、曲を topTracks 配列に並べます。
私が思いつく唯一の解決策は、サーバー側のスクリプトを定期的に実行して平均を計算することです。ユーザー評価。スクリプトによって順序付けられる topTracks 配列用に、データベースに新しいクラスを作成する必要があります。私のアプリでは、topTracks 配列に対して 3 番目のクエリを怠惰に実行します。