Значение типа '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"]