如何在視圖中顯示的以下數據:如何在火力數據顯示嵌套對象
[
"parties" {
"2016-12-30" {
"uid" {
"name": "joe",
"age": "32"
},
"uid" {
"name": "kevin",
"age": "29"
}
},
"2016-12-25" {
"uid" {
"name": "ben"
"age": "44"
}
}
}
]
以我控制器I有
var parties = [Party]()
DataService.ds.REF_PARTIES.observe(.value, with: { (snapshot) in
if let snapshot = snapshot.children.allObjects as? [FIRDataSnapshot] {
print(snapshot)
for snap in snapshot {
if let partyDict = snap.value as? [String: AnyObject] {
let key = snap.key // the party date
let party = Party(date: key, partyData: partyDict)
self.parties.append(party)
}
}
}
self.tableView.reloadData()
})
類PartyFeedCell:的UITableViewCell:
func configureCell(party: Party) {
dateLabel.text = part.date // date as expected
}
在反應中,我可以使用Object.key
來在循環中進行更深入的操作並獲取這些日期(鍵)的用戶。任何方式來完成這個?在xxx
的日期下,我應該看到一個用戶列表。
Party.swift:
import Foundation
class Party {
private var _name: String!
private var _age: String!
var name: String {
return _name
}
[...]
init(name: String, age: String) {
self._name = name
self._age = age
}
init(date: String, partyData: [String: AnyObject]) {
self._date = date
[...]
}
}
DataService.swift:
import Foundation
import FirebaseDatabase
let DB_BASE = FIRDatabase.database().reference()
class DataService {
static let ds = DataService()
private var _REF_BASE = DB_BASE
private var _REF_PARTIES = DB_BASE.child("parties").queryOrderedByKey()
var REF_BASE: FIRDatabaseReference {
return _REF_BASE
}
var REF_PARTIES: FIRDatabaseQuery {
return _REF_PARTIES
}
}
您的問題按*日期分組,*但您的Firebase結構不包括日期。也許你的意思是*年齡*?它也看起來像在party節點下有重複的鍵* uniqueDates *,這是不可能發生的。 – Jay
@Jay嗨。是的,日期將是獨一無二的。真正想要的是如何顯示這些信息。 – Sylar
我想你錯過了我的觀點。您無法按日期排序,排序或搜索,因爲您的Firebase結構中沒有日期。請修正您的問題或結構以包含日期。此外,這個問題不再是一個問題,所以你不清楚你在問什麼,請更新。 – Jay