InsertSections函数Swift

时间:2015-09-02 09:47:37

标签: ios swift uitableview sections

我的目标是在点击时插入一个部分,并在此部分插入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()

任何例子,见解都非常感激。

谢谢。

3 个答案:

答案 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。