我知道如何访问"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
然后在表视图中:
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
}
希望能找到帮助。谢谢!
很简单:
访问cover
使用中的source
event[indexPath.row].cover?.source