Ich verwende die YouTube-Daten-API und Alamofire, um die Videos meines YouTube-Kanals anzuzeigen und dynamisch zu aktualisieren. Hier ist mein Code:Fehler bei der Verwendung der YouTube-Daten-API und 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()
}
}
}
}
}
Ich erhalte einen Fehler
Gewinde 1: EXC_BAD_INSTRUCTION
auf der Linie for video in dictionary["items"] as! NSArray {
. In der Konsole sehe ich
fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb)
Die Daten werden in einem UITableView
angezeigt. Irgendwelche Ideen, wie das zu beheben ist?
Ich erhalte einen Fehler 'Type Int keinen Index members' auf den Leitungen hat' wenn lassen videoId = video [ "id"], wie? String {',' wenn Snippet = Video ["Snippet"] als? [String: Any] {', und' wenn thumbnails = video ["thumbnails"] als? [String: Any] {' –
Bitte sehen Sie meine bearbeitete Antwort. Obwohl es zu spät ist. –