[英]InsertRowsAtIndexPaths error Swift
我有一个uitableview
,我尝试通过insertRowsAtIndexPaths
函数附加它。 如果我只是简单地将数据添加到数据源数组中,则uitableview
很好地附加,但是让我很难通过上述功能将其插入。
这是我的代码
func insertData(){
// appending arrays
answersdict.append(answersmain[answertitle1]![0]) // count 1
resultanswers2d.append(carsmain[answertitle1]!) // count 3
self.tableView.reloadData()
// inserting rows
self.tableView.beginUpdates()
let insertedIndexPathRange = 0..<carsmain[answertitle1]!.count + 1 // total count 4
var insertedIndexPaths = insertedIndexPathRange.map { NSIndexPath(forRow: $0, inSection: 1) }
self.tableView.insertRowsAtIndexPaths(insertedIndexPaths, withRowAnimation: .Fade)
self.tableView.endUpdates()
我的数据源计数为2(因此第1节存在)和numberOfRows
等于resultanswers2d[section].count + 1
等于4
所以我试图将4行插入到已附加的数组中,该数组在该节中具有4个可能的行,但是我不断收到类似
更新(4)之后,现有节中包含的行数必须等于更新(4)之前该节中包含的行数,加上或减去插入的单元格(已插入4个,已删除0个)
或者如果我努力
malloc_error
被困。 需要任何见解。 谢谢。
删除该行以重新加载表格。
insertRowsAtIndexPaths
更新表。
插入次数以及数据源和表中的位置必须匹配。
只是不要调用self.tableView.reloadData()
。 beginUpdate和endUpdate部分应足够。
更新:另外,请记住也将新部分插入 beginUpdate
endUpdate
块中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.