索引在UITableViewController的单元格范围之外 - swift

时间:2016-11-02 14:25:36

标签: ios swift uitableview indexpath

我有一个UITableViewController。在tableview的代码中,我想显示一个“lineLabel”(它只是一个空白标签,背景位于单元格的底部),如果一个值等于另一个值 - 我的工作非常好! / p>

问题是当我到达底部单元格时,我得到索引超出范围错误。我知道为什么我会收到错误(会在代码中显示),但我不知道如何防止该错误并仍然得到与我现在相同的结果?

希望你能帮助我!

这是我的代码:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell:carTableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! carTableViewCell

let checkBackgroundColor = carsArray[indexPath.row + 1].componentsSeparatedByString("#")

        if checkBackgroundColor[4] == finalCars[4] {
            cell.lineLabel.hidden = true
        } else {
            cell.lineLabel.hidden = false
        }


        return cell
    }

我的索引超出范围错误,因为我正在检查代码的workoutsArray[indexPath.row + 1].componentsSeparatedByString("#")部分中没有的索引。我只是不知道怎么办呢?任何人??

1 个答案:

答案 0 :(得分:2)

在检查数组计数之前:

if carsArray.count > indexPath.row + 1 {
    // your code here
}

但你也必须正确计算你的tableview行数并将其放入override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int