我使用分段控制器来控制数据在表格视图中的显示方式。其中一个视图应该是按时间顺序排列的,因为我使用firebase所以查询实际上已经按时间顺序排列了。但是,我想按最高评级排序,这是一个计算值(“喜欢的数量”是一个孩子的计数,是一个点击“喜欢”的用户数组。表视图控制器实例化一个数组:
var media = [Media]()
并且函数获取媒体并以此结束:
let ref = DatabaseReference.media.reference()
let query = ref.queryOrdered(byChild: "uid").queryEqual(toValue: (value))
query.observe(.childAdded, with: { snapshot in
let media = Media(dictionary: snapshot.value as! [String : Any])
if !self.media.contains(media) {
self.media.insert(media, at: 0)
我认为我需要制作2个不同的数组,并在最后2行之前在分段控制器上使用switch语句来填充它们,然后在我的TableView数据源中使用switch语句来读取相关的数组。这是正确的想法吗?如果是这样,我如何对快照进行排序?