gpt4 book ai didi

iphone - 从 Detailview 中删除 Tableview 的行

转载 作者:行者123 更新时间:2023-12-01 21:13:04 27 4
gpt4 key购买 nike

我在我的应用程序的详细 View 中使用了 Storyboard UITableView我将 tableview 传递给详细 View 以便能够删除此行取决于某些操作但给我以下错误

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', 
reason: 'Invalid update: invalid number of rows in section 0.
The number of rows contained in an existing section after the update (4) must be equal to the
number of rows contained in that section before the update (4),
plus or minus the number of rows inserted or deleted from that section (0 inserted, 1 deleted)
and plus or minus the number of rows moved into or out of that section (0 moved in, 0 moved out).'

最佳答案

如果删除表中的最后一行,UITableView 代码预计剩余 0 行。它会调用您的 UITableViewDataSource确定剩余数量的方法。由于您有一个“无数据”单元格,它返回 1,而不是 0。因此,当您删除表中的最后一行时,请尝试调用 -insertRowsAtIndexPaths:withRowAnimation:插入您的“无数据”行。

你需要做的是:

// tell the table view you're going to make an update
[tableView beginUpdates];
// update the data object that is supplying data for this table
// ( the object used by tableView:numberOfRowsInSection: )
[dataArray removeObjectAtIndex:indexPath.row];
// tell the table view to delete the row
[tableView deleteRowsAtIndexPaths:indexPath
withRowAnimation:UITableViewRowAnimationRight];
// tell the table view that you're done
[tableView endUpdates];

(根据这个 link ,你应该避免 NSInternalInconsistencyException 。)

关于iphone - 从 Detailview 中删除 Tableview 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14030944/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com