[英]How can I filter my fetched data and load into tableview?
我正在使用Firebase數據庫。 我獲取了數據並希望過濾並僅顯示與用戶選擇匹配的信息。
我已經使用條件語句來查找匹配的值並附加列表,但是,我無法加載表。 當我打印變量時,它打印0.需要幫助謝謝。
override func viewDidLoad() {
super.viewDidLoad()
projectlbl.text = "Brand: \((repair?.brand)!) Model: \((repair?.modelNumber)!)"
refResources = Database.database().reference().child("resources");
let selectedProject = "\((repair?.modelNumber)!)"
//observing the data changes
refResources!.observe(DataEventType.value, with: { (snapshot) in
//if the reference have some values
if snapshot.childrenCount > 0 {
//clearing the list
self.resourceList.removeAll()
//iterating through all the values
for resources in snapshot.children.allObjects as! [DataSnapshot] {
//getting values
let resourceObject = resources.value as? [String: AnyObject]
let id = resourceObject?["id"]
let RSSSubCat = resourceObject?["RSSSubCat"]
let RSSBrand = resourceObject?["RSSBrand"]
let RSSModelNumber = resourceObject?["RSSModelNumber"]
let RSSTitle = resourceObject?["RSSTitle"]
let RSSUrl = resourceObject?["RSSUrl"]
//creating resource object with model and fetched values
let resource = resourceModel(id: id as! String?, RSSSubCat: RSSSubCat as! String?, RSSBrand: RSSBrand as! String?, RSSModelNumber: RSSModelNumber as! String?, RSSTitle: RSSTitle as! String?, RSSUrl: RSSUrl as! String?)
//appending it to list
print(snapshot.childrenCount)
if selectedProject == resource.RSSModelNumber {
print(selectedProject)
self.resourceList.append(resource)
self.diagResTable.reloadData()
} else {
return
}
}
//reloading the tableview
self.diagResTable.reloadData()
}
})
需要改變聽眾......簡單而又被忽視。
let selectedModelNumber = (self.refResources?.queryOrdered(byChild: "RSSModelNumber").queryEqual(toValue: selectedProject))
//observing the data changes
selectedModelNumber!.observe(DataEventType.value, with: { (snapshot) in
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.