我的应用程序包含一个包含行和部分的表格视图 当我删除部分的最后一项时,我删除该部分。它工作正常 但是,当我将一个部分的最后一行移动到另一个部分时,我得到一个错误。
以下是我的代码:
[categoryArray removeObjectAtIndex:indexPath.section];
[tableView deleteSections:[NSIndexSet indexSetWithIndex:indexPath.section] withRowAnimation:UITableViewRowAnimationTop];
以下是moveRowAtIndexPath中发生的错误:fromIndexPath:toIndexPath:
2009-03-11 17:56:09.524 Test[5140:20b] 1
2009-03-11 17:56:09.525 Test[5140:20b] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSCFArray objectAtIndex:]: index (5) beyond bounds (5)'
任何帮助都会很棒!
答案 0 :(得分:2)
实际上,我的代码并没有尝试访问元素。我认为错误来自UITableView方法(我不知道,因为我们只能访问sdk的头文件)。 此时出现问题:
[tableView deleteSections:[NSIndexSet indexSetWithIndex:fromIndexPath.section] withRowAnimation:UITableViewRowAnimationTop];
答案 1 :(得分:0)
看起来您正在尝试访问五元素数组的第六个元素。您是否使用数组大小作为索引而不减去1?
答案 2 :(得分:0)
我有这个问题而且我刚解决了。就我而言,我使用的是Core Data,我必须将删除逻辑包装在
中 [tableView beginUpdates];
...
[tableView endUpdates];
我必须包装一切;从我删除数据/部分之前,直到我保存上下文。希望它有所帮助。