【发布时间】:2017-12-29 17:27:21
【问题描述】:
我知道如何访问“struct Course”变量并将它们放入 tableview。我是这样做的:
var event = [Course]()
//some code left out
let courses = try JSONDecoder().decode(JsonFromWeb.self, from: data)
self.event = courses.data
//some code left out
然后在tableView中:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "eventCell") as? UserEventsTableViewCell else { return UITableViewCell() }
cell.idLabel.text = event[indexPath.row].id
cell.nameLabel.text = event[indexPath.row].name
return cell
}
但我无法弄清楚访问 Cover 变量并获取例如源值并将其添加到 tableView 的方法。就像我对课程变量所做的那样。 我的结构在这里:(感谢使用我的 JSON 编码的用户 Vadian。)
struct JsonFromWeb: Codable {
let data: [Course]
}
struct Course: Codable {
private enum CodingKeys : String, CodingKey {
case attendingCount = "attending_count"
case id, name, cover
}
let id: String
let name: String
let attendingCount: Int
let cover: Cover?
}
struct Cover : Codable {
private enum CodingKeys : String, CodingKey {
case offsetX = "offset_x"
case offsetY = "offset_y"
case source, id
}
let offsetX: Int
let offsetY: Int
let source: String
let id: String
}
希望能得到帮助。谢谢!
【问题讨论】: