2017-06-19 4 views
0

Hallo können Sie mir helfen Ich möchte in einem TableView ein Array von Objekten, aber nur einen Bestandteil des Arrays anzeigen.Wie Array von Objekten in TableView angezeigt wird - swift

hier mein Code:

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 
} 

}

So..i wollen in dieser Linie zeigen, nur die DestinoInstancia.desDestino = dep.desDestino!

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

zeigt mir Zeit auf diese Weise:

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"))] enter image description here

Wenn ich will, nur um mir zeigen:

Asunción Miami Atenas Madrid

Bitte um Hilfe!

+0

Sieht so aus, als ob Sie diese Optionen nicht auspacken. – ffritz

+0

ich denke..ja, ich entpacke: DestinoInstancia.idDestino = dep.idDestino! DestinoInstancia.desDestino = dep.desDestino! – xhinoda

Antwort

1

Ich denke, das Problem liegt in der String-Konvertierung und unverpackten Optionen.

Versuchen Sie, diese zu ersetzen:

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

mit diesem:

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

Diese Reserve auspackt sicher das optionale, während auch die richtige Zeichenfolge abruft.

+0

Ja! ... das funktioniert perfekt! – xhinoda

+0

selbst ... Ich brauche nicht das Array Schleife ... ich brauche diesen Code nur: wenn str lassen = autoCompleteDestino [index] .desDestino {? cell.textLabel .text = str } – xhinoda

+0

Froh, dass ich helfen könnte ... Ich habe den Beitrag etwas vereinfacht, um es etwas klarer zu machen. – bearacuda13

Verwandte Themen