UITableViewController 单元格中的索引超出范围 - swift
Posted
技术标签:
【中文标题】UITableViewController 单元格中的索引超出范围 - swift【英文标题】:Index out of range in cell of UITableViewController - swift 【发布时间】:2016-11-02 14:25:36 【问题描述】:我有一个 UITableViewController。在 tableview 的代码中,如果一个值等于另一个值,我想显示一个“lineLabel”(它只是一个空白标签,在单元格底部有一个背景) - 我得到了它的工作非常好!
问题是当我到达底部单元格时,我得到索引超出范围错误。我知道为什么会出现错误(将在代码中显示),但我不知道如何防止该错误并仍然获得与现在相同的结果?
希望你能帮助我!
这是我的代码:
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("#")
部分检查不存在的索引。我只是不知道该怎么做?有人吗?
【问题讨论】:
numberOfRowsInSection
和 numberOfSections
下返回什么?
我返回了 1,但没关系 - livenplay 向我展示了如何正确处理 :-)
【参考方案1】:
检查之前的数组计数:
if carsArray.count > indexPath.row + 1
// your code here
但您还必须正确计算您的 tableview 行数并将其放入您的 override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
【讨论】:
以上是关于UITableViewController 单元格中的索引超出范围 - swift的主要内容,如果未能解决你的问题,请参考以下文章
UITableViewController - 单元格大小分隔符和背景色
回退时 UITableViewController 单元格保持突出显示
故事板中具有不同单元格大小和单元格内容的 UITableViewController
在 UITableViewController 中重建表格单元格
iPhone - 两个不同的自定义单元格,具有不同的设计,在同一个 UITableViewController - 单元格保持初始大小