在字典数组上使用Incorrect argument label in call (have 'where:', expected 'of:')
时出现firstIndex
错误。
let d: [NSMutableDictionary] = [["u": 1], ["u": 2], ["u": 3]]
let i = d.firstIndex(where: { dict -> Bool in
return dict["u"] == 2
})
为什么会发生这种情况以及如何解决?
答案 0 :(得分:2)
Swift无法知道== 2
是否可以与dict["u"]
一起使用。 您知道dict["u"]
是一个Int,但是 Swift 却不知道,因为通过将这些字典键入为NSMutableDictionary,您已经隐藏了值的类型。
要解决此问题,请将[NSMutableDictionary]
更改为[[String:Int]]
。