我知道当索引比实际数组索引更重要时会发生此错误。我知道同样的问题有很多问题,但我真的需要解决这个问题。我已经尝试了很多东西,比如通过减去1,2等等来减去index.count的索引。该应用程序是一个任务应用程序,你可以在其中添加一个类别的任务。我使用的是我创建名称Task的自定义类,它具有名称,日期和类别,但问题在于类别。这是代码:
var array = [Task]()
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if let cell = tableView.dequeueReusableCellWithIdentifier("TaskCell") as? TaskCell {
if pendingOrComplete.selectedSegmentIndex == 0 {
if categoriesSegmentedControl.selectedSegmentIndex == 0 {
cell.configureCell(tasks[indexPath.row])
} else if categoriesSegmentedControl.selectedSegmentIndex == 1 {
for task in tasks where task.category == "House" {
arr.append(task)
cell.configureCell(arr[indexPath.row])
}
} else if categoriesSegmentedControl.selectedSegmentIndex == 2 {
for task in tasks where task.category == "School" {
arr.append(task)
cell.configureCell(arr[indexPath.row])
}
}
} else {
cell.configureCell(completedTasks[indexPath.row])
}
return cell
} else {
return TaskCell()
}
}
第一个分段控件pendingOrComplete工作正常。如果任务处于挂起状态,它将使用tasks数组配置单元格,该数组在同一个项目中声明并包含所有用户的任务(" var tasks = Task")。已完成的任务是一组任务,其中包含已完成的阵列任务任务。 现在我开始按类别实现过滤,但我得到了这个奇怪的错误"索引超出范围"一旦我点击firstcategoriesSegmentedControl.selectedSegmentIndex。如果我点击索引0,它工作正常,如果我点击索引1,它会崩溃一个断点和这个错误。
我已经尝试重新加载表格视图,但它会让我陷入无限循环,表格视图为空白。