类型 'any' 在 swift 3 中没有下标成员



我在第 if let arrJson = allContacts["contacts"] 行收到此错误

在下面的代码中:

if let arrJson = allContacts["contacts"]     {
            for index in 0...arrJson.count - 1
            {
                let aObject = arrJson[index] as! [String : AnyObject]
                names.append(aObject["name"] as! String)
                contacts.append(aObject["email"] as! String)
                }
            }

请帮我怎么办?我试过这个,但没有解决这个错误 类型"任何"在 xcode 8 中没有下标成员 斯威夫特 3

试试这个:

let tempDic = allContacts as! Dictionary<String,Any>
        if let arrJson = tempDic["contacts"]      {
            let arrJson = arrJson as! Array<Dictionary<String,Any>>
            for index in 0...(arrJson).count - 1
            {
                let aObject = arrJson[index] as [String : AnyObject]
                names.append(aObject["name"] as! String)
                contacts.append(aObject["email"] as! String)
            }
        }

您收到一个错误 b'coz 您allContacts未声明为 Array、Dictionary 或 Set(这些集合有下标(。

因此,你们都需要做的是将allContacts转换为适当的类型。

例如。

`allContacts as! Dictionary<AnyHashable, Any>`
`allContacts as! Array<Any>`

最新更新