Я пытаюсь просто прочитать мои данные о базе данных и заполнить табличное представление информацией.По какой-то причине мне кажется, что появляется только первый элемент.Мои данные Firebase выглядят так:
{
"Filter by Color" : {
"New Black" : {
"Astrophyllite" : {
"color" : "Black",
"name" : "Astrophyllite",
"properties" : "Astral Travel, Physic Protection"
},
"Onyx" : {
"Properties" : "The Heals",
"color" : "Black",
"name" : "Onyx"
}
}
}
}
Мои разрешения Firebase установлены на чтение: true, запись: false (я хочу публичные разрешения на чтение, но база данных не изменяется из приложения.
MyКод Swift:
override func viewDidLoad() {
ref.child("Filter by Color").child("New Black").observe(DataEventType.value, with: { (snapshot) in
var crystalList: [CrystalDefinitionClass] = []
for child in snapshot.children {
if let snapshot = child as? DataSnapshot,
let crystals = CrystalDefinitionClass(snapshot: snapshot) {
self.crystalArray.append(crystals)
}
}
// self.crystalArray = crystalList
self.tableView.reloadData()
})
}
Ниже приведена информация для моего представления таблицы:
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
// return self.Crystal.count
print(crystalArray.count)
return crystalArray.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
let crystalDB = crystalArray[indexPath.row]
cell.textLabel?.text = crystalDB.name
return cell
}
Это приводит к единственному результату из базы данных.Любая помощь здесь будет принята с благодарностью!