我的目标是在点击时插入一个部分,并在此部分插入4行。
我已经熟悉如何使用InsertRowsAtIndexPaths
并将行插入一个部分不会有任何问题。
但是当插入新的部分时,它就会出现问题。很棘手,苹果文档并没有完全解释它。
以下是我用于插入行的代码
self.tableView!.beginUpdates()
var insertedIndexPaths: NSMutableArray = []
for var i = 0; i < newObjects.count + 1; ++i {
insertedIndexPaths.addObject(NSIndexPath(forRow: initialCount + i, inSection: sectionsnumbers)) }
self.tableView?.insertRowsAtIndexPaths(insertedIndexPaths as [AnyObject], withRowAnimation: .Fade)
self.tableView!.endUpdates()
任何例子,见解都非常感激。
谢谢。
答案 0 :(得分:1)
插入部分时,会重新加载其数据。您不需要单独告诉tableview所有新行;它只会向数据源询问新部分中的行数。
有关详细信息,请参阅this document。
答案 1 :(得分:1)
使用var sectionNumbers:NSMutableArray = ({"object":"object"}) //etc whatever object you want
现在使用此功能
func numberOfSectionsInTableView(tableView: UITableView) -> Int{
return sectionNumbers.count}
并在sectionNumbers 中添加对象,并在callThis方法中添加要添加的部分
tableView.reloadData()
这会有所帮助
答案 2 :(得分:0)
插入部分与插入行不同。如果要插入行,则需要先调用tableView.beginUpdates(),然后在完成后调用table.endUpdates(),否则会抛出一些数据不一致异常。另一方面,在插入部分时,您无需执行任何操作,只需反映数据源中的更改,如numberOfSectionsInTableView。