ios - 为什么我会收到以下错误 : "fatal error: unexpectedly found nil while unwrapping an Optional value"? - 如何具体修复它?

标签 ios xcode swift error-handling fatal-error

这是我的代码:

var usernames = [""]
var userids = [""]
var isFollowing = ["":false]

var refresher: UIRefreshControl!

func refresh() {

    var query = PFUser.query()

    query?.findObjectsInBackgroundWithBlock({ (objects, error) -> Void in

        if let users = objects {

            self.usernames.removeAll(keepCapacity: true)
            self.userids.removeAll(keepCapacity: true)
            self.isFollowing.removeAll(keepCapacity: true)

            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.findObjectsInBackgroundWithBlock({ (objects, error) -> Void in

                            if let objects = objects {

                                if objects.count > 0 {

                                    self.isFollowing[user.objectId!] = true

                                } else {

                                    self.isFollowing[user.objectId!] = false

                                }
                            }

                            if self.isFollowing.count == self.usernames.count {

                                self.tableView.reloadData()

                                self.refresher.endRefreshing()

                            }

                        })


                    }

                }

            }

        }





    })

我在这行收到 fatal error ,内容如下:

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

我该如何解决这个问题?我搜索了其他几个帖子,但找不到有用的东西。当您提供建议时,请非常具体——我相对来说是一个新手。

最佳答案

正如评论中所说,您的值(value)观之一是零。

在查询之前插入以下代码并修复返回 nil 的方法:

if (PFUser.currentUser() == nil) {
    print("currentUser() is nil");
} else if (PFUser.currentUser()!.objectId == nil) {
    print("PFUser.currentUser()!.objectId is nil");
} else if (user.objectId == nil) {
    print("user.objectId is nil");
}

关于ios - 为什么我会收到以下错误 : "fatal error: unexpectedly found nil while unwrapping an Optional value"? - 如何具体修复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33127050/

相关文章:

ios - 如何使 View Controller 以部分透明度呈现?

ios - 检测旋转时的字体变化

iOS 应用程序崩溃,因为 -[UIView _setLayerConfig :]: unrecognized selector sent to instance

ios - 即使使用解决方案集更新 Swift 后也无法使用 withMemoryRebound

ios - 使用 Qt 的免费配置文件

ios - 使用 `ipa build` 和 `deliver` 工具后出现无效的临时配置文件错误(自动提交应用程序)

ios - 按钮约束 Swift

ios - 如何检测 UIBarButtonItem 的 touchesbegan touchesended?

iphone - 设置委托(delegate)时的警告

ios - 关于ios项目中pod安装错误