在Swift 2.3中我使用过这段代码,但在将Swift更新到3.0版后,我的代码无法编译。谢谢!
var waterfallLibrary: NSArray = []
cell!.textLabel?.text = String(self.waterfallLibrary.valueForKey("songName").objectAtIndex(indexPath.row))
答案 0 :(得分:9)
使用此代码解决了我的问题
(waterfallLibrary.value(forKey: "songName") as! NSArray).object(at: indexPath.row)
谢谢Leo Dabus!
答案 1 :(得分:1)
在swift 3.0中,需要第一个参数名称。所以你的代码应该是......
value(forKey: indexPath.row)
如果您阅读了错误消息,它会告诉您这一点,它甚至会为您纠正错误。
如果您想转换所有代码,只需使用内置的xcode转换器,它将为您完成所有这些操作。同样,当您在Xcode 8中打开项目时,将提供此功能。