这已经有一段时间,因为我跟我的TableViewController搞砸,所以我有点生疏了......但现在我想将它设置,这样,当一个部分具有零行显示(数组为空),那么它将“谎言”的控制器和numberOfRowsInSection返回1。然后在它的cellForRowAtIndexPath将放置在一个行的单元格一个UILabel,说的东西的影响“这一部分是空的。”

问题是当表处于编辑模式和用户删除最后一行我得到以下错误:

终止应用程序由于未捕获的异常“NSInternalInconsistencyException”,原因:“无效更新:在第1行的无效数包含在现有段的行的更新后的数字(1)必须等于包含在更新(1)在此之前部的行数,加或减插入或从该部分(0插入时,1删除)。

删除的行的数

这似乎是忐忑不安,因为后轻扫到删除一行时,它试图重新绘制它发现最后一排是依然存在的表。我在哪里/应该如何处理呢?当然,我的 crapping 的各地苹果的HIG在一定程度上,但它混淆我的用户在闲置的部分刚头...

谢谢!

有帮助吗?

解决方案

您需要真正插入你的“假”使用行-insertRowsAtIndexPaths:withRowAnimation:。从UITableView中的观点,有没有“真正的”行或“假”行。有什么行的数据源说,有。所以,你有1行,然后你删除了1行,然后UITableView的问你“有多少行,有”你说1,和UITableView中说:“1 - 1 = 1,等等,什么布拉姆”

如果你想插入行(“真”或“假”都是一样的),你需要告诉的UITableView你插入。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top