xcode - 下标有问题

标签 xcode swift

我有一行代码直到 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/

相关文章:

swift - 堆数据结构实现swift

swift - Xcode 8 with legacy Swift 2.3 : SourceKit imposes Swift 3. 0 rules & shows phantom errors

ios - 在 viewDidLoad 之前编写 init 方法将模型传递给 View Controller

ios - 获取两个用户之间的 XMPP 客户端聊天记录

iOS Swift GestureRecognizer 不工作

ios - 带有动态库的 32 位应用程序在 64 位设备上崩溃

ios - 根据 UIImage 大小捕获屏幕

ios - 我有两个 Xcode 项目,找出其中两个文件不同的最简单方法是什么?

iphone - 将 .xib 中的对象连接到现有的 IBAction

ios - 如何正确使用标识符属性?