我有一行代码直到 2 个月前才有效。现在我收到警告“下标的使用不明确”。
这是我遇到问题的代码行。 Swift 最近有更新吗?
if let data = response.result.value {
let precinctNumberFromAPI = Int(data.valueForKeyPath("objects.metadata.Precinct")![0] as! String)
....
}
最佳答案
在 Swift 2.2 中,编译器对类型更加严格,如果有歧义,许多以前推断的类型将不再推断。
在您的情况下,只需通过安全解包和强制转换来帮助编译器了解您的对象是什么类型。
例子:
if let data = response.result.value,
array = data.valueForKeyPath("objects.metadata.Precinct") as? [String],
precinctNumberFromAPI = array.first {
// do stuff with precinctNumberFromAPI
}
关于xcode - 下标有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37266294/