0

iOS 開発は初めてで、起動時にアプリのデータを効率的にロードする方法がわかりません。私のアプリは、曲のリストが取り込まれた UITableView で構成されています。各セルには、曲に関するデータが表示されます。現在のユーザー評価 (評価されている場合) と平均。ユーザー評価 (すべてのユーザーの平均評価)。バックエンドのデータ ストレージにParseを使用しています。

私のアプリは、起動時に 2 つのクエリを実行します。最初のクエリは曲を取得してテーブルに入力します。次に、平均を計算します。ユーザーの評価 (私のバックエンド スキーマにはカウント オブジェクトが含まれています: rating1_count、rating2_count など。ユーザーが曲を評価すると増加します)。また、曲を個別のデータ モデル配列 (topTracksOfTheWeek、topTracksOfTheMonth、topTracksAllTime) に並べ替えます。

2 番目のクエリは、現在のユーザーが評価したすべての曲を取得します。次に、このクエリを最初のクエリと比較して、ユーザー評価データを最初のクエリに埋め込み、アプリのデータ モデルを形成します。

読み込み時間を最適化するために、最初のクエリを 50 曲に制限したいと思います。ただし、現在のデータ モデルでは、データベース内のすべての曲をクエリして、すべての平均を計算する必要があります。ユーザーの評価を付けてから、曲を topTracks 配列に並べます。

私が思いつく唯一の解決策は、サーバー側のスクリプトを定期的に実行して平均を計算することです。ユーザー評価。スクリプトによって順序付けられる topTracks 配列用に、データベースに新しいクラスを作成する必要があります。私のアプリでは、topTracks 配列に対して 3 番目のクエリを怠惰に実行します。

4

1 に答える 1

0

a) 新しい評価が追加されたときに平均評価を保存して再計算することにより、クライアント側とサーバー側の両方の操作を最小限に抑えてみませんか。

サーバー側で計算できる場合は、モバイル デバイスで計算を行わないことが理想的です。

于 2012-09-06T16:06:06.220 に答える