尝试移动UITableView行时崩溃

Ed *_*rty 5 iphone cocoa-touch uitableview ios

我有一些相当复杂的规则来移动行中的行UITableView.每个部分有不确定数量的部分和行,并且根据各种规则,行可以在用户的​​部分内或部分之间移动到特定的其他位置.

所有数据更新,一切正常.但偶尔,在移动一行之后,应用程序将退出并突然出现一个空白区域,应该显示一行.

我正在使用:

              - (NSIndexPath *)tableView:(UITableView *)tableView
targetIndexPathForMoveFromRowAtIndexPath:(NSIndexPath *)sourceIndexPath
Run Code Online (Sandbox Code Playgroud)

指定允许用户根据单元格的位置拖动行的位置.98%的工作时间.但在某些情况下,当只允许用户在各部分之间拖动时(无法对部分内的行重新排序)会出现此错误,然后在没有行的区域上滚动浏览器后应用程序崩溃.

抛出的异常非常无用:

由于未捕获的异常'NSRangeException'而终止应用程序,原因:'*** - [NSCFArray objectAtIndex:]:index(6)超出边界(6)

我的代码都没有在堆栈中.最后一个特定于UITableView的方法是

-[UITableView(UITableViewInternal) _visibleCellForGlobalRow:]

有人看过这个问题之前发生过吗?有任何想法吗?

Ed *_*rty 0

我已经有一段时间没有访问过这个问题了。我想出的解决方案是删除复杂的规则。不知道为什么他们允许使用复杂的规则,如果在使用它们时应用程序崩溃了。不确定最新版本的操作系统是否已修复此问题。