2017-12-29 67 views
0

私は "struct Course"変数にアクセスしてtableviewに取得する方法を知っています。 tableViewで第3レベルの構造体から変数を読み込むには?

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 
    } 

しかし、私はカバーの変数にアクセスする方法を把握し、例のソース値のために得るとのtableViewに追加傾けます。コース変数と同じように。 私の構造体はここにある:(私のJSONを使用して、これをコード化されたユーザーヴァディアンにクレジット。)

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 
} 

希望の助けを見つけます。ありがとうございました!

答えて

1

それは簡単です:cover使用中のアクセスsource

event[indexPath.row].cover?.source 
関連する問題