【问题标题】:Unexpectedly found nil while unwrapping optional.在展开可选时意外发现 nil。
【发布时间】:2014-10-17 16:25:42
【问题描述】:

我已将错误范围缩小到此代码块。我需要在 optional 处定义一些东西,但我不确定在哪里。

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

        }

    })

}

任何帮助将不胜感激。

【问题讨论】:

  • 错误出现在哪一行?

标签: ios parsing swift facebook-ios-sdk


【解决方案1】:

您的代码假定如果用户为 nil,则将存在错误。不知道你能不能保证。试试这个:

@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)
            }
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    • 2017-04-09
    • 2018-09-22
    • 2016-06-26
    • 2016-03-12
    • 2021-12-30
    相关资源
    最近更新 更多