未捕获的异常' NSUnknownKeyException'

时间:2016-10-09 17:23:11

标签: swift nsunknownkeyexception

我只是从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

1 个答案:

答案 0 :(得分:0)

Video的位置,放(video as NSDictionary)

例如:

videoObj.videoId = (video as NSDictionary).value(forKeyPath: "snippet.resourceId.videoId") as! String

......等等。