无法转换FBSDKGraphRequestHandler类型的值

时间:2016-02-09 03:04:15

标签: ios swift facebook swift2

当我尝试使用Facebook SDK发出数据请求时,我收到以下错误:

Cannot convert value of type '(_,_,_) throws -> Void' to expected argument type 'FBSDKGraphRequestHandler!'

以下是发生错误的相关代码。我在教程中发现了这个,但我认为它适用于旧版本的XCode。我使用的是最新版本7.2.1。

已更新

let graphRequest = FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id, name, gender, email"])
        graphRequest.startWithCompletionHandler ({ [weak self] connection, result, error in
            if error != nil {
                //onError()
                print(error)
                return
            } else {
                    //get results

                    PFUser.currentUser()?["gender"] = result["gender"]
                    PFUser.currentUser()?["name"] = result["name"]

                    try PFUser.currentUser()?.save()

                    let userId = result["id"] as! String

                    let facebookProfilePictureUrl = "https://graph.facebook.com/" + userId + "/picture?type=large"

                    if let fbpicUrl = NSURL(string: facebookProfilePictureUrl) {

                        if let data = NSData(contentsOfURL: fbpicUrl) {

                            self.profilePic.image = UIImage(data: data)

                            let imageFile:PFFile = PFFile(data: data)!

                            PFUser.currentUser()?["image"] = imageFile

                            try PFUser.currentUser()?.save()
                          }
                }
            }
        })

谢谢!

图片(点击图片使其变大)

http://imgur.com/skCa1VB

1 个答案:

答案 0 :(得分:4)

我希望您使用最新的FBSDK,因为completionHandler:已被更改。请参阅以下代码:

let graphRequest = FBSDKGraphRequest(graphPath: "me", parameters: param)
graphRequest.startWithCompletionHandler { [weak self] connection, result, error in
     if error != nil {
          //onError()
          print(error.description)
          return
     }else{

          let fbResult = result as! Dictionary<String, AnyObject>
          //Do You rest of the code here
     }
 })