我知道如何访问“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
}
希望能找到帮助。谢谢!
答案 0 :(得分:1)
这很简单:
要访问source
中的cover
,请使用
event[indexPath.row].cover?.source