对于var myArray:[[String:Any]]
Xcode,我可以自动填充
myArray.first(where:{$0["name"] == "John Doe"})
但是后来不允许我编译它时出现错误“无法调用非函数类型的值'[String:Any]?'”
所以另一个词,swift无法弄清楚我正在寻找方法first(where:_)
而不是无参数版本.first
。是什么给了什么?
答案 0 :(得分:2)
Xcode正在为此错误提供错误消息。这是一个简单的类型的事情。您无法将Any
与String
myArray.first(where:{$0["name"] == "John Doe"})
应该是:
myArray.first(where:{
guard let name $0["name"] as? String else {return false}
return name == "John Doe"
})