意外地发现nil展开一个可选项 - 为什么我会得到那个致命的错误?

时间:2015-10-13 20:32:45

标签: swift error-handling fatal-error

for object in users {

                if let user = object as? PFUser {

                    if user.objectId! != PFUser.currentUser()?.objectId {

                        self.usernames.append(user.username!)
                        self.userids.append(user.objectId!)

                        var query = PFQuery(className: "followers")

                        query.whereKey("follower", equalTo: PFUser.currentUser()!.objectId!)
                        query.whereKey("following", equalTo: user.objectId!)

为什么我会在行上写下致命错误:

  

query.whereKey(" follower",equalTo:PFUser.currentUser()!。objectId!)                               query.whereKey("以下",equalTo:user.objectId!)

我不明白。怎么解决这个问题?

1 个答案:

答案 0 :(得分:0)

在if条件下,您使用PFUser.currentUser()?。如果这个表达式是nil,那么大概就是条件。

然后,当您强制解包PFUser.currentUser()!时,您在逻辑上会崩溃。

同样适用于user.objectId!