无法在swift中打开可选项

时间:2014-09-23 12:10:22

标签: ios iphone cocoa-touch swift

我正在使用Parse,并获得PFUsers objectId,如下所示:

let objectID = PFUser.currentUser().objectId;

但是每次我运行我的应用程序并且应用程序到达此行时我都会得到:

fatal error: unexpectedly found nil while unwrapping an Optional value

如果我尝试改为:

let objectID = PFUser.currentUser().objectId!;

我无法执行下一行:if (objectID != nil)因为NSString不符合NiLiteralConvertible

2 个答案:

答案 0 :(得分:7)

试试这个:

    let user: PFUser? = PFUser.currentUser()
    if user != nil
    {
        let objectID = user!.objectId
    }

或者如果objectId可以是nil:

    let user: PFUser? = PFUser.currentUser()
    if user != nil
    {
        if let objectID = user!.objectId?
        {
            //do something
        }
    }

答案 1 :(得分:3)

此处的可选项是PFUser.currentUser()的返回值,而不是objectId

您需要稍微更改一下,因为当前用户可能不存在。

像...一样的东西。

if let user = PFUser.currentUser()! {
    let objectID = user.objectId
}

或者其他什么。不太确定,因为我还没有正确进入Swift。