Swift 3类型'Any'没有下标成员错误

时间:2017-04-18 16:10:05

标签: swift

这里有一些代码给我这个问题:

func loadUrl(_ obj:AnyObject?){

        let urlObj = obj as! NSDictionary
        let urlPath = urlObj["aps"]!["alert"] as! String
        let requestUrl = URL(string: urlPath)
        let request = URLRequest(url: requestUrl!)
        webView.loadRequest(request)

尝试过许多贴出的东西,但在我的情况下都没有用,任何治愈都非常感谢!

1 个答案:

答案 0 :(得分:0)

在Swift 3中,编译器需要知道所有下标对象的类型。

强烈建议安全打开选项:

func loadUrl(_ obj: Any?) {

    if let urlObj = obj as? [String:Any],
       let aps = urlObj["aps"] as? [String:Any],
       let urlPath = aps["alert"] as? String,
       let requestUrl = URL(string: urlPath) {
          let request = URLRequest(url: requestUrl)
          webView.loadRequest(request)
     ...
     }

请阅读Larme的评论。