UITableView重载问题

时间:2012-06-20 13:28:49

标签: iphone uitableview

我在重新加载UITableView时遇到了非常复杂的问题!

我有一个UITableView我持续(接近10秒),从服务器检索数据并在我的UITableView中显示包含自定义单元格的数据。问题是,当用户(那是我)滚动浏览UITableView时,由于indexOutOfBound错误而导致崩溃,因为我从服务器获取数据时NSMutableArray将清除并填充再次提供数据。

我还尝试在BOOL中使用YES变量设置NOscrolling delegates。在这种情况下,如果我滚动UITableView它将删除滚动方向的单元格,10秒后它将显示所有包含数据的单元格。

但我想要的是,如果用户滚动UITableView,任何创建的单元格都不应该隐藏! scrollEnabled不是解决方案。

请帮帮我!

谢谢:)

2 个答案:

答案 0 :(得分:2)

这是一个线程不安全的代码问题。数据源在被主动使用时被修改。

一个安全的解决方案是在解析到某个DB(sqlite / Coredata)之后提供所有数据,并从db重新加载表数据源并为表调用reloadData。这种方式在你使用数据源数组的时候 - 它不会是空的。

祝你好运

答案 1 :(得分:0)

如果indexOutOfBound意味着你必须检查你指定的numberofrow超过我们在数组forrowatindex中接收的数组。所以检查一下。