Ich habe eine Struktur namens trip
.Verschiedene Strukturen in einem Array in Swift
struct trip {
var name: String
var description: String
var elements: [Any] = []
mutating func addItemToElements(newValue: Any) {
elements.append(newValue)
}
}
Wie Sie sehen können, gibt es ein Array im Inneren. Ich füge einige andere Strukturen wie element_flight
in dieses Array von Funktion addItemtoElements
.
struct element_flight {
var origin: String
var destination: String
var flightno: String
var departure: NSDate
var arrival: NSDate
var seat: String
}
Dann versuche ich, eine Liste mit Tabellenansicht zu erstellen:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "elementTrip", for: indexPath) as! CellInElementsOfTripsTableViewCell
let elem = trips[0].elements[indexPath.row]
cell.mainTextLabel.text = elem.origin //it doesn't work
return cell
}
ich alle Teile der Struktur erhalten kann nicht (wie origin
in Code). Was mache ich falsch?
Ich erstelle ähnliche Strukturen zu element_flight
und es könnte der beste Weg sein, es in ein Array zu setzen und dann in der Tabellenansicht anzuzeigen.
'Versuche cast' sie auf den richtigen Typ oder zu speichern, welche Art sie sind, und werfen sie richtig auf die konkrete Art . Im Moment weiß der Compiler, dass 'elem' vom Typ' Any' on line ist: 'let elem = trips [0] .elements [indexPath.row]'. – Brandon