我在重新加载UITableView时遇到了非常复杂的问题!
我有一个UITableView
我持续(接近10秒),从服务器检索数据并在我的UITableView
中显示包含自定义单元格的数据。问题是,当用户(那是我)滚动浏览UITableView
时,由于indexOutOfBound
错误而导致崩溃,因为我从服务器获取数据时NSMutableArray
将清除并填充再次提供数据。
我还尝试在BOOL
中使用YES
变量设置NO
或scrolling delegates
。在这种情况下,如果我滚动UITableView
它将删除滚动方向的单元格,10秒后它将显示所有包含数据的单元格。
但我想要的是,如果用户滚动UITableView
,任何创建的单元格都不应该隐藏! scrollEnabled
不是解决方案。
请帮帮我!
谢谢:)
答案 0 :(得分:2)
这是一个线程不安全的代码问题。数据源在被主动使用时被修改。
一个安全的解决方案是在解析到某个DB(sqlite / Coredata)之后提供所有数据,并从db重新加载表数据源并为表调用reloadData。这种方式在你使用数据源数组的时候 - 它不会是空的。
祝你好运答案 1 :(得分:0)
如果indexOutOfBound意味着你必须检查你指定的numberofrow超过我们在数组forrowatindex中接收的数组。所以检查一下。