我在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
}
最佳答案
numberOfRows
和cellForRow
中的逻辑不一致。您的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
)。这就是为什么索引超出范围的原因。