gpt4 book ai didi

ios - 具有检查功能的数组超出范围

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:56:57 26 4
gpt4 key购买 nike

我有一个数组和一个检查函数。

点击按钮时的功能:

// VARS
var workoutArray: [workout]!
var index = Int()

@IBAction func finishExerciseBtnPressed(_ sender: AnyObject) {

// reload tabledata with next exercise in array

print("the count of array is \(workoutArray.count)")

if index <= workoutArray.count {
index = index + 1
tableView.reloadData()
print("The exercise number is \(index)")
} else {
// Show finish workout button
print("No items found anymore")
}
}

tableView dequeReusableCell的作用:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if let cell = tableView.dequeueReusableCell(withIdentifier: "workoutStartCell", for: indexPath) as? workoutStartCell {

let workout = workoutArray[index]
cell.updateUI(workout: workout, exercise: index + 1)

return cell

}else{
return UITableViewCell()
}
}

我从之前的 viewcontroller 发送数字 0 到这个 vc 顶部的索引变量。我有检查方法 finishExercisePressed 但无论我在做什么,它都会一直计数到谷底。它说索引超出范围,但我正在检查索引是否等于或小于数组的计数。

这是我想要实现的目标:

enter image description here

有人可以帮帮我吗?

非常感谢。

最佳答案

I am checking if the index is equal or lower to the count of the arrays.

没错。但是,您是在递增索引之前执行此操作,并且由于索引从零开始,因此您应该在结束之前停止一个索引:

var index = 1 // Set the index to 1 initially to skip the title
...
if index+1 < workoutArray.count {
index += 1
tableView.reloadData()
...
}

上述检查验证 index 在递增后 会保持在范围内。

关于ios - 具有检查功能的数组超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39961590/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com