我在Swift中运行一个Firebase应用程序。在这里我吸引追随者和跟随用户。在用户刚刚注册的情况下,应用程序会崩溃,因为可能还没有关注者/跟踪用户。我想尽一切办法来处理这个错误,但都无济于事。我的问题是:
一。我怎样才能避免撞车?
2。有没有什么方法可以让我放置一个图像或按钮,而不是空白表格,将它们重定向到其他用户的后面?
下面是代码:

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        let cell = tableView.dequeueReusableCell(withIdentifier: "InProfileCell", for: indexPath) as! ConnectionsCell

        if currentIndex == 1 {
            let user = followerusers[indexPath.row]
            cell.showFollowersUsers(val: user)
            print("follower")
        } else {
            let user = followingUsers[indexPath.row]
            cell.showFollowingUsers(val: user)
            print("following")
        }

        return cell
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

        if currentIndex == 0 {
            return followingUsers.count
        } else {
            return followerusers.count
        }
    }

    func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }

最佳答案

numberOfRowscellForRow中的逻辑不一致。您的numberOfRows声明

if currentIndex == 0 {
    followingUsers
} else {
    followerUsers
}

但是,您的cellForRow与此不一致,因为它声明
if currentIndex == 1 { //NOTE THAT YOU ARE USING 1 HERE INSTEAD OF 0
    followerUsers
} else {
    followingUsers
}

现在当currentIndex为2时,numberOfRows将返回followerUsers的计数,但cellForRow将尝试访问followingUsers的值(而不是followerUsers)。这就是为什么索引超出范围的原因。

10-07 21:39