具有与属性Swift相同名称的功能:.first(其中:..)



var myArray:[[String:Any]] xcode让我自动完成

 myArray.first(where:{$0["name"] == "John Doe"})

,但是不允许我用错误编译"无法调用非功能类型的值'[string:wony]?'"

因此,Swifts无法弄清楚我正在寻找方法first(where:_)而不是NO PARAM版本.first。什么给?

xcode为此错误提供了错误的消息。这是一个简单的类型。您无法将AnyString

进行比较
 myArray.first(where:{$0["name"] == "John Doe"})

应该是:

  myArray.first(where:{
     guard let name $0["name"] as? String else {return false}
     return name == "John Doe"
  })

最新更新