YouTube API からデータを取得し、tableView に表示するだけです。Swift 3 にアップグレードする直前までは問題なく動作していましたが、現在はエラーが発生しています。
JSON を正常に印刷できますが、タイトル、説明、および imageView を表示できません。
videoTableView をクリックすると、"videoObj"で始まる行でエラーが発生します。
エラーメッセージ:
このクラスは、キー スニペットのキー値コーディングに準拠していません。
let videoObj = Video()
videoObj.videoId = Video.value(forKeyPath: "snippet.resourceId.videoId") as! String
videoObj.videoTitle = Video.value(forKeyPath: "snippet.title") as! String
videoObj.videoDescription = Video.value(forKeyPath: "snippet.description") as! String
videoObj.videoThumbnailUrl = Video.value(forKeyPath: "snippet.thumbnails.maxres.url") as! String
arrayOfVideos.append(videoObj)
if self.delegate != nil {
self.delegate!.dataReady()
}
同様の質問を見てきましたが、ストーリーボードで欠落している接続やクラス名を確認することを提案したものもありましたが、自分のプロジェクトではそれらを複製できませんでした。
プロジェクトをクリーンアップし、シミュレーターとデバイスからアプリを削除し、派生データを削除することを提案する人もいましたが、どれも私にとって解決策ではないようです。
Swift 3 アップグレード前の行は次のとおりでした。
let videoObj = Video()
videoObj.videoId = video.valueForKeyPath("snippet.resourceId.videoId") as! String