Firebase 按值对类数组进行排序
Posted
技术标签:
【中文标题】Firebase 按值对类数组进行排序【英文标题】:Firebase Sort array of class by value 【发布时间】:2017-04-18 12:32:04 【问题描述】:我正在使用 Firebase。在我的应用程序中,我通过传入一个 bottleID 来获取一个子值,并从快照中获取该值的详细信息。然后我将详细信息分配给MyCollection_Class
的对象并将其添加到数组中。在获得每个瓶子值之后,我想在重新加载表格视图之前使用 created_at
标记对该数组进行排序。请告诉我如何按特定实例变量对对象数组进行排序。
let Collection = MyCollection_Class()
FireBaseConstants.AUCTIONS_REF.child(bottleID).observeSingleEvent(of: .value, with: (snap) in
if !(snap.value is NSNull)
Collection.id = bottle_dict["id"] as? String
Collection.item_number = bottle_dict["item_number"] as? Int
Collection.created_at = bottle_dict["created_at"] as? String
if !(self.MyCollectionsIDArr.contains(Collection.id! as String))
self.MyCollectionsArr.append(Collection)
self.MyCollectionsIDArr.append(Collection.id!)
// I want to sort the MyCollectionsArr using created_at here
self.tbl_Latest.reloadData()
)
【问题讨论】:
能否显示created_at
的样本值,因为它是String
类型,所以需要显示日期的格式
Swift how to sort array of custom objects by property value的可能重复
【参考方案1】:
您可以使用
检索已从 Firebase 排序的数据queryOrderedByChild。
一个例子是:
ref.child(bottleID).queryOrderedByChild("created_at").queryEqualToValue(0).observe SingleEventOfType(.Value, withBlock: snap in
print("snap \(snap)")
expectation.fulfill()
)
【讨论】:
以上是关于Firebase 按值对类数组进行排序的主要内容,如果未能解决你的问题,请参考以下文章