快速指数超出范围

时间:2016-03-29 00:00:27

标签: arrays uitableview swift2 uisegmentedcontrol

我知道当索引比实际数组索引更重要时会发生此错误。我知道同样的问题有很多问题,但我真的需要解决这个问题。我已经尝试了很多东西,比如通过减去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,它会崩溃一个断点和这个错误。

我已经尝试重新加载表格视图,但它会让我陷入无限循环,表格视图为空白。

0 个答案:

没有答案