Значение типа 'any?' не было члена 'valueForKey' - Swift 3

Я получаю эту ошибку,

"Значение типа 'any?' не было члена 'valueForKey'", для userName, fbID, email и fbLink при компиляции.

func returnUserDatafromFBGraphRequest(withAuthUID uid: String){
    FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id, name, first_name, last_name, email, picture.type(normal), link"]).start( completionHandler: { (connection, result, error) -> Void in
        if (error != nil) {

            //process error

            print("[LoginControl] Error FBSDKgraph request \(error?.localizedDescription)")

        } else {



            // successful request, do work

            let userName = result.valueForKey("name") as! String

            let fbID = result.valueForKey("id") as! String

            let email = result.valueForKey("email") as! String

            let fbLink = result.valueForKey("link") as! String

            guard let picture = result.valueForKey("picture") as? NSDictionary,
            let pictureData = picture.valueForKey("data") as? NSDictionary,
            let pictureURL = pictureData.valueForKey("url") as? String else {
                print("[LoginControl] Error getting fb pic url")
                return

            }

            print("[LoginControl] fetched user from fb: \(email)")

1 ответ

Вы должны бросить Any во что-то более значимое что-то вроде [String:Any]

   guard let fbData = result as? [String:Any] else { return }

   let fbid = fbData["id"]
   let email = fbData["email"]
Другие вопросы по тегам