在展开可选时意外发现 nil。
Posted
技术标签:
【中文标题】在展开可选时意外发现 nil。【英文标题】:Unexpectedly found nil while unwrapping optional. 【发布时间】: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)
)
任何帮助将不胜感激。
【问题讨论】:
错误出现在哪一行? 【参考方案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)
【讨论】:
以上是关于在展开可选时意外发现 nil。的主要内容,如果未能解决你的问题,请参考以下文章