2016-12-24 4 views
1

私はこのエラーを取得しています、タイプのタイプ 'any?'の値何のメンバーのvalueForKey "ありませんでした - 『?任意の』スウィフト3

」値をコンパイル時にuserName、fbID、email、およびfbLinkのメンバー 'valueForKey'はありませんでした。

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)") 

答えて

3

あなたが[String:Any]

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

    let fbid = fbData["id"] 
    let email = fbData["email"] 
のようなものより有意義なものにして Anyをキャストする必要があり
関連する問題