UITableview崩溃应用中的删除部分

时间:2018-09-27 07:49:21

标签: ios uitableview swift4 xcode9

我有一个UITableView,我想删除这些部分和行。我正在尝试删除整个部分及其内部的行。以下是使我感到困惑的情况。

  1. 当我尝试从上到下或从下到上删除部分以使所有部分无误地删除
  2. 当我尝试随机删除部分时,即首先删除第一部分的顶部,然后当我尝试删除第四,第八或最后一个部分时,应用程序崩溃

崩溃日志

  

致命错误:索引超出范围

这是我的做法:

 func onHeaderSwippedRight(ClickedSection: IndexPath) {


    dataSource.remove(at: ClickedSection.section)

    // use the UITableView to animate the removal of this row
    tableView.beginUpdates()

    tableView.deleteSections(IndexSet.init(integer : ClickedSection.section), with: .automatic)

    tableView.endUpdates()

}
  

我要传递给此函数 onHeaderSwippedRight(ClickedSection:IndexPath)的索引路径由委托方法传递。 Bcz在我的课堂上,我在设置

部分的数据时通过了它

我的原始猜测是,在删除节后,tableview必须更新节的索引,因为当我从数据源中删除数据时,如果节自己进行更新,则它一定不能使索引超出范围< / strong>

请帮助并告诉我我做错了什么

更新;

public class ListModel : Object {


var   Id : String = ""
var   UserId : Int64 = 0
var   Name : String? = ""
var   Items : [ListDetailServiceModel]? =  []}
  

这是我的模特,并且我有这样的列表

let dataSource :[ListModel] = []

0 个答案:

没有答案