2014-10-17 59 views
0

我已经缩小了错误的代码块。我需要定义可选的东西,但我不知道在哪里。意外地发现零,而解包可选。

@IBAction func SignupWithFacebook(sender: AnyObject) { 
    var permissionsArray = ["user_about_me", "user_birthday", "email"] 
    PFFacebookUtils.logInWithPermissions(permissionsArray, block: { (user: PFUser?, error: NSError!) -> Void in 
     if (user == nil) { 
      let errormessage = error.userInfo!["error"] as NSString 
      var facebookLoginError = UIAlertController(title: "Error While Logging", message: "\(errormessage)", preferredStyle: .Alert) 
      var okButton = UIAlertAction(title: "OK", style: .Default, handler: nil) 
      facebookLoginError.addAction(okButton) 
      self.presentViewController(facebookLoginError, animated: true, completion: nil) 

     } 

    }) 

} 

任何帮助将不胜感激。

+0

什么路线是错误的? – 2014-10-17 17:51:23

回答

0

你的代码假定如果用户是零,然后将存在错误。我不知道你能否做出这样的保证。试试这个:

@IBAction func SignupWithFacebook(sender: AnyObject) { 
    let permissionsArray = ["user_about_me", "user_birthday", "email"] 
    PFFacebookUtils.logInWithPermissions(permissionsArray) { (user, error) -> Void in 
     if user == nil { 
      if let e = error { 
       let errormessage = e.userInfo!["error"] as NSString 
       let facebookLoginError = UIAlertController(title: "Error While Logging", message: "\(errormessage)", preferredStyle: .Alert) 
       let okButton = UIAlertAction(title: "OK", style: .Default, handler: nil) 
       facebookLoginError.addAction(okButton) 
       self.presentViewController(facebookLoginError, animated: true, completion: nil) 
      } 
     } 
    } 
} 
相关问题