如何在 TableView 中显示对象数组 - swift

How to show array of objects in TableView - swift

你好,你能帮我吗?我想在 TableView 中显示一个对象数组,但只显示数组的一个组成部分。

这里是我的代码:

extension ViewController: UITableViewDataSource {
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as UITableViewCell
    let index = indexPath.row as Int

    for dep in autoCompleteDestino {
        DestinoInstancia.idDestino = dep.idDestino!
        DestinoInstancia.desDestino = dep.desDestino!
        autoCompleteDestino.append(dep)
    }

    print(autoCompleteDestino)
    cell.textLabel?.text = String(describing: autoCompleteDestino[index])

    return cell
}

}

所以..我想在这一行中显示,只有 DestinoInstancia.desDestino = dep.desDestino!

cell.textLabel?.text = String(describing: autoCompleteDestino[index])

目前是这样显示的:

MTiOS.Destinos(idDestino: Optional(1), desDestino: Optional("Asunción")), MTiOS.Destinos(idDestino: Optional(2), desDestino: Optional("Miami")), MTiOS.Destinos(idDestino: Optional(3), desDestino: Optional("Atenas")), MTiOS.Destinos(idDestino: Optional(5), desDestino: Optional("Madrid"))]

当我只想给我看的时候:

Asunción Miami Atenas Madrid

请帮忙!

我认为问题在于字符串转换和展开的可选值。

尝试替换这个:

    cell.textLabel?.text = String(describing: autoCompleteDestino[index])

有了这个:

    if let str = autoCompleteDestino[index].desDestino {
        cell.textLabel?.text = str
    }

此替换安全地解开可选字符串,同时还检索正确的字符串。