小编Bar*_*tza的帖子

删除部分的最后一行导致崩溃

我已经四处冲浪Stackoverflow并发现了类似的问题,但我仍然无法弄清楚,因为我似乎做得对。

所以我有一个自定义单元格的表格视图。每当我尝试删除给定部分中的最后一行时,应用程序都会崩溃并显示以下错误消息:

更新后表视图中包含的节数(1)必须等于更新前表视图中包含的节数(2),加上或减去插入或删除的节数(0插入,0删除)。

这是我的代码:

// shifts = [[Shift]] (Shift is my class)
func numberOfSections(in tableView: UITableView) -> Int {
    return shifts.count
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return shifts[section].count
}

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
    if editingStyle == .delete {

        // Removing the element from my list
        shifts[indexPath.section].remove(at: indexPath.row)

        // Removing empty lists if there are any
        var indexes = [Int]()
        for i in 0..<shifts.count {
            if …
Run Code Online (Sandbox Code Playgroud)

tableview ios swift

4
推荐指数
1
解决办法
1223
查看次数

这些参考文献是否真的相同?

假设我们有以下代码片段:

Cat cat = new Cat(); // The Cat class extends Animal

ArrayList<Animal> animalList = new ArrayList<>();
animalList.add(cat);
Run Code Online (Sandbox Code Playgroud)
  1. catCat指向类型对象的类型的引用Cat

  2. animalList.get(0)是类型的引用Animal,指向与cat引用相同的对象.

  3. cat == animalList.get(0)将评估,true因为他们都指向同一个对象.

但是,一个引用是类型Cat而另一个是类型Animal(列表中的位置0),所以我错误地说引用不完全相等,即使它们指向相同的内存位置?我是否过多地研究术语?

java

3
推荐指数
1
解决办法
83
查看次数

标签 统计

ios ×1

java ×1

swift ×1

tableview ×1