У меня есть настройка базы данных Firebase, в которой я возвращаю несколько ключей, которые мне нужны. Я хочу, чтобы эти ключи были заголовком строки таблицы. Когда я запускаю следующий код, он возвращает именно то, что я хочу в массиве (в этом примере [Афины, Делавэр]). Я загружаю этот массив из представления сделал метод загрузки.
Как я могу получить каждый элемент в массиве как строку ячейки в моем tableView?
Когда я пытаюсь выполнить следующий код, я получаю эту ошибку в ответ:
Не удалось привести значение типа «Swift.Array» (0x10c7ed2c0) к «Swift.String» (0x10c7d2888).
let ref = Database.database().reference()
var markets: [loadMyData] = []
var myKey = [Any]()
override func viewDidLoad() {
super.viewDidLoad()
ref.child("Markets").observeSingleEvent(of: .value, with: { (snapshot) in
var myNewKey: [Any] = []
let allMarkets = (snapshot.value as! NSMutableDictionary).allKeys
myNewKey.append(allMarkets)
self.myKey = myNewKey
self.tableView.reloadData()
})
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return myKey.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
let allMarkets = myKey[indexPath.row]
cell.textLabel?.text = allMarkets as! String
return cell
}