Ios PFUser未打开包装-swift

Ios PFUser未打开包装-swift,ios,xcode,swift,Ios,Xcode,Swift,我开始学习swift解析,遇到了以下错误: “可选类型为'PFUser'的值未展开;是否要使用'!'或'?' 我似乎无法让它工作 PFFacebookUtils.logInWithPermissions(["public_profile", "user_about_me", "user_birthday"], block: { user, error in if user == nil {

我开始学习swift解析,遇到了以下错误:

“可选类型为'PFUser'的值未展开;是否要使用'!'或'?'

我似乎无法让它工作

        PFFacebookUtils.logInWithPermissions(["public_profile",
        "user_about_me", "user_birthday"], block: {
            user, error in

            if user == nil {
                println("the user canceled fb login")
                //add uialert

                return

            }
                //new user
            else if user.isNew {
                println("user singed up through FB")

                //get information from fb then save to parse
                FBRequestConnection.startWithGraphPath("/me?fields=picture,first_name,birthday,gender",  completionHandler: {
                    connection, result, error in
                    //print results
                    println(result)
                    //result dictionary about user
                    var r = result as NSDictionary
                    //prnt dictionary
                    println(NSDictionary)
                    //match parse column with what fb sends
                    user["firstName"] = r["first_name"]
                    user["gender"] = r["gender"]
                    //r = result, then key into using picture.  Then key into url using the data
                 let pictureURL = ((r["picture"] as NSDictionary)["data"] as NSDictionary) ["url"] as String

而不是使用if
user==nil{…
你应该真正使用

    if let user = user { 
       // Login succeeded...
    } 
    else { 
       // Login failed
    } 

变量
user
将在
if-let
中展开,您可以继续使用
user
与您相同的方式。

而不是使用if
user==nil{…
,您应该真正使用它

    if let user = user { 
       // Login succeeded...
    } 
    else { 
       // Login failed
    } 

变量
user
将在
if-let
中展开,您可以继续使用
user
与您相同的方式。

而不是使用if
user==nil{…
,您应该真正使用它

    if let user = user { 
       // Login succeeded...
    } 
    else { 
       // Login failed
    } 

变量
user
将在
if-let
中展开,您可以继续使用
user
与您相同的方式。

而不是使用if
user==nil{…
,您应该真正使用它

    if let user = user { 
       // Login succeeded...
    } 
    else { 
       // Login failed
    } 
变量
user
将在
if let
中展开,您可以继续使用
user

以下是说明:

以下是解释:

以下是解释:

以下是解释:


只要写!在每次
用户使用后,如果你确定它不是零,如果我不确定它是零,那就是我不知道的东西..我强烈建议不要养成用Swift强制展开东西的习惯。只要写!在每次
用户使用后,如果你确定它不是零,如果我不确定它是零,那就是零我不明白。我强烈建议不要养成用Swift强制拆开东西的习惯。只要写!每次
用户使用后,如果你确定它不是零,如果我不确定它是零,那是我不明白的事情。我强烈建议不要养成用Swift强制拆开东西的习惯。只要写!每次
user
用法,如果你确定它不是零,如果我不确定它是零,那就是我不知道的东西..我强烈建议不要养成用Swift强行拆开东西的习惯。