您好,我能帮助我吗?我希望在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) :可选(3),desDestino:可选(“Atenas”)),MTiOS.Destinos(idDestino:Optional(5),desDestino:Optional(“Madrid”))]
当我只想告诉我时:
亚松森 迈阿密 阿特纳斯 马德里
请帮助!
答案 0 :(得分:2)
我认为问题在于String转换和解包的选项。
尝试替换它:
cell.textLabel?.text = String(describing: autoCompleteDestino[index])
有了这个:
if let str = autoCompleteDestino[index].desDestino {
cell.textLabel?.text = str
}
此替换安全地打开可选项,同时还检索正确的字符串。