UITableView reloadData在滚动过程中崩溃

时间:2011-10-09 01:31:14

标签: objective-c uitableview crash scroll reloaddata

我在工具栏中有一个带有刷新按钮的UITableView。 如果TableView停止,我按下刷新按钮调用reloadData一切正常。 但是,如果我在tableview停止之前滚动tableview并按下刷新按钮,应用程序将崩溃并显示以下消息:

-[NSMutableArray objectAtIndex:]: index 31 beyond bounds for empty array'

我认为通过滚动,app正在尝试构建单元格,读取reloadData清除的数组。

我试图在reloadData之前停止滚动,但它不起作用。 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这显然不是这个问题的解决方案,因为您还没有发布任何代码!

但是,我想知道你为什么要在滚动时刷新数据?在可用性方面,我认为用户也不会这样做。我猜您只是在某些情况下测试视图,以便您的应用程序不会崩溃!

我建议您在滚动tableView时使UIButton处于非活动状态。

myButton.enabled = NO;

// after scrolling you can set it to YES.

我真的不相信用户想要在tableView滚动时刷新表格,如果他们不小心按下它,我认为这一小段代码可以解决问题。