私はYouTube Data APIとAlamofireを使用して自分のYouTubeチャンネルの動画を表示し、動的に更新しています。ここに私のコードは次のとおりです。YouTube Data APIとAlamofireを使用したときのエラー
func getFeedVideo() {
Alamofire.request("https://www.googleapis.com/youtube/v3/playlists", parameters: parameters, encoding: URLEncoding.default, headers: nil).responseJSON { (response) in
if let JSON = response.result.value {
if let dictionary = JSON as? [String: Any] {
var arrayOfVideos = [Video]()
for video in dictionary["items"] as! NSArray {
// Create video objects off of the JSON response
let videoObj = Video()
videoObj.videoID = (video as AnyObject).value(forKeyPath: "snippet.resourceId.videoId") as! String
videoObj.videoTitle = (video as AnyObject).value(forKeyPath: "snippet.title") as! String
videoObj.videoDescription = (video as AnyObject).value(forKeyPath: "snippet.description") as! String
videoObj.videoThumbnailUrl = (video as AnyObject).value(forKeyPath: "snippet.thumbnails.maxres.url") as! String
arrayOfVideos.append(videoObj)
}
self.videoArray = arrayOfVideos
if self.delegate != nil {
self.delegate!.dataReady()
}
}
}
}
}
私はエラー
スレッド1取得しています:ライン
for video in dictionary["items"] as! NSArray {
上EXC_BAD_INSTRUCTION
を。コンソールで、私は参照してください
fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb)
データはUITableView
で表示されています。どのようにこれを修正するための任意のアイデア?
は私が取得していますエラーのように、それを繰り返すようにしてください 'タイプのIntがラインには添字members'を持っていない'場合はVIDEOID =ビデオ[「ID」を]としましょうか?文字列{'、'もしsnippet = video ["snippet"]を? [文字列:任意] {'、および'もしサムネイル=ビデオ["サムネイル"]を? [文字列:Any] {' –
私の編集した答えをご覧ください。あまりにも遅いですが。 –