【发布时间】:2016-07-17 00:21:57
【问题描述】:
我有一个名为 trip 的结构。
struct trip {
var name: String
var description: String
var elements: [Any] = []
mutating func addItemToElements(newValue: Any) {
elements.append(newValue)
}
}
如你所见,里面有一个数组。我正在通过函数addItemtoElements 将一些其他结构(如element_flight)添加到此数组中。
struct element_flight {
var origin: String
var destination: String
var flightno: String
var departure: NSDate
var arrival: NSDate
var seat: String
}
然后我尝试使用表格视图创建一个列表:
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
}
我无法获取 struct 的任何部分(例如代码中的 origin)。我做错了什么?
我正在创建与element_flight 类似的结构,这可能是将其放在一个数组中然后在表格视图中显示的最佳方式。
【问题讨论】:
-
Try cast将它们转换为正确的类型或存储它们是什么类型并将它们正确地转换为具体类型。现在,编译器只知道elem是Any类型,在线:let elem = trips[0].elements[indexPath.row]。
标签: ios arrays swift xcode struct