未捕获的异常 'NSUnknownKeyException'
Uncaught exception 'NSUnknownKeyException'
我只是从 youtube API 获取数据并将其显示在 tableView 上。它在 Swift 3 升级之前工作正常,但现在它给了我一个错误。
我能够成功打印 JSON 但无法显示标题、描述和 imageView。
当我点击 videoTableView 时,在以 "videoObj".
开头的行出现错误
错误信息:
this class is not key value coding-compliant for the key snippet.'
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()
}
我看过类似的问题,其中一些建议检查故事板是否缺少连接或 class 名称,但无法在我自己的项目中复制它们。
有些人还建议清理项目,从模拟器和设备中删除应用程序并删除派生数据,但 none 似乎是我的解决方案。
在Swift3升级之前,行如下;
let videoObj = Video()
videoObj.videoId = video.valueForKeyPath("snippet.resourceId.videoId") as! String
你有Video
的地方,放上(video as NSDictionary)
.
例如:
videoObj.videoId = (video as NSDictionary).value(forKeyPath: "snippet.resourceId.videoId") as! String
...等等。
我只是从 youtube API 获取数据并将其显示在 tableView 上。它在 Swift 3 升级之前工作正常,但现在它给了我一个错误。
我能够成功打印 JSON 但无法显示标题、描述和 imageView。
当我点击 videoTableView 时,在以 "videoObj".
开头的行出现错误错误信息:
this class is not key value coding-compliant for the key snippet.'
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()
}
我看过类似的问题,其中一些建议检查故事板是否缺少连接或 class 名称,但无法在我自己的项目中复制它们。
有些人还建议清理项目,从模拟器和设备中删除应用程序并删除派生数据,但 none 似乎是我的解决方案。
在Swift3升级之前,行如下;
let videoObj = Video()
videoObj.videoId = video.valueForKeyPath("snippet.resourceId.videoId") as! String
你有Video
的地方,放上(video as NSDictionary)
.
例如:
videoObj.videoId = (video as NSDictionary).value(forKeyPath: "snippet.resourceId.videoId") as! String
...等等。