我有一个JSON获取请求,其中检索四个用户的信息,然后加载四个视图及其图片,名称等。
我还有一个功能,用户可以点击这些视图并查看有关它们的更多信息。
但是,我需要确保包含四个用户的数组(randomFour)包含他们选择的视图的实际信息,并且不为nil。
我试图通过对数组的索引进行计数来实现此目的,但是由于某些原因,它并不能阻止它通过然后由于值nil而崩溃。
@objc func loadWriteView(sender: UITapGestureRecognizer) {
if sender.view == a_view || sender.view == a_pic && randomFour.count >= 1 {
setupCardWrite(user: randomFour[0])
} else if sender.view == b_view || sender.view == b_pic && randomFour.count >= 2 {
setupCardWrite(user: randomFour[1])
} else if sender.view == c_view || sender.view == c_pic && randomFour.count >= 3 {
setupCardWrite(user: randomFour[2])
} else if sender.view == d_view || sender.view == d_pic && randomFour.count >= 4 {
setupCardWrite(user: randomFour[3])
}
}
如您所见,我检查计数是否大于某个值,但是有时我仍然会收到此错误:
Thread 1: Fatal error: Index out of range
当检查时,我看到:
randomFour = ([Compliments.User]) 0 values
如何确保用户已正确加载?
答案 0 :(得分:0)
请尝试在前两个条件附近使用括号
if (sender.view == a_view || sender.view == a_pic) && randomFour.count >= 1