我已经查看了SO上的其他项目,但似乎没有任何帮助。我想从我的tableview中删除部分。它们可以由用户动态创建。如果我从下往上删除它们,一切正常。但是如果我从上到下删除它们,则第二部分不会删除,而是删除第三部分。这继续沿着列表向下,当第二部分全部离开时,删除它会导致索引超出范围。
我确信在尝试删除该部分之前,我已从我的数据模型中删除了匹配部分,所以我不确定出了什么问题。这是我删除部分的代码:
@objc func deleteButtonTapped(_ sender:UIButton) {
var sectionToDelete = sender.tag
print ("Before: \(sections.count)")
sections.remove(at:sectionToDelete)
expanded.remove(at:sectionToDelete)
print ("After: \(sections.count)")
defaults.set(sections,forKey:"Sections")
defaults.set(expanded, forKey:"Expanded")
let indexSet = IndexSet(arrayLiteral: sectionToDelete) // indexSet will be the section I want deleted
tableView.deleteSections(IndexSet(integer:sectionToDelete),with: .fade) // out of range
}
关于从这里去哪里的任何想法?