我是 iOS 开发的新手,我无法弄清楚如何在启动时有效地加载我的应用程序的数据。我的应用由一个 UITableView 组成,其中填充了歌曲列表。每个单元格显示有关歌曲的数据:当前用户评分(如果已评分)和平均值。用户评分(所有用户的平均评分)。我正在使用Parse进行后端数据存储。
在启动时,我的应用程序运行两个查询。第一个查询获取歌曲以填充表。然后计算平均值。用户评分(我的后端架构包括计数对象:rating1_count、rating2_count 等,当用户对歌曲评分时会增加)。它还将歌曲排序到单独的数据模型数组中:topTracksOfTheWeek、topTracksOfTheMonth、topTracksAllTime。
第二个查询获取当前用户的所有评分歌曲。然后,它将这个查询与第一个查询进行比较,以将用户评分数据嵌入到第一个查询中,从而形成应用程序的数据模型。
我想将第一个查询限制为 50 首歌曲以优化加载时间。但是,使用我当前的数据模型,我需要查询数据库中的所有歌曲来计算所有的平均值。用户评分,然后将歌曲排序到 topTracks 数组中。
我能想出的唯一解决方案是定期运行服务器端脚本来计算平均值。用户评分。我必须在我的数据库中为脚本排序的 topTracks 数组创建一个新类。在我的应用程序中,我会懒惰地对 topTracks 数组进行第三次查询。