Swift 3.0 NSArray valueForKey

Swift 3.0 NSArray valueForKey

在 Swift 2.3 中,我使用了这段代码,但是在将 Swift 更新到 3.0 版后,我的代码无法编译。谢谢!

var waterfallLibrary: NSArray = []
cell!.textLabel?.text = String(self.waterfallLibrary.valueForKey("songName").objectAtIndex(indexPath.row))

在 swift 3.0 中,第一个参数名称是必需的。所以你的代码应该是...

value(forKey: indexPath.row)

如果您阅读错误消息,它会告诉您这一点,甚至会为您更正。

如果您想转换所有代码,只需使用内置的 xcode 转换器,它会为您完成所有这些工作。同样,当您在 Xcode 8.

中打开项目时将提供此信息

我的问题用这段代码解决了

(waterfallLibrary.value(forKey: "songName") as! NSArray).object(at: indexPath.row)

谢谢 Leo Dabus!