0

我正在开发一个图形应用程序,它在主导航/选项卡视图上显示一个使用openGL呈现图形的UIView。在该视图下是一个UITableView,它显示图形上的元素列表以及一个添加按钮。UITableView cellForRowAtIndexPath偶尔不会被调用?

偶尔,当用户单击另一个选项卡,然后返回到图形视图选项卡时,表视图不会重绘。

我有一个[tableView reloadData]方法在导航控制器(也是表视图的委托和数据源)viewDidAppear方法中调用。

numberOfSectionsInTableView和numberOfRowsInSection被调用,但cellForRowAtIndexPath并不是尽管后面的方法都返回正值。

这是一个间歇性问题,只发生在一些时间,但不清楚什么(如果有的话)影响这一点。

有没有人有任何想法?

应该快速添加;点击或以其他方式与表格视图进行交互,无论是否按照描述进行了故障,总是使其成功重绘。

[又]多一点信息;当它如上所述出错时,调用前两个而不是cellforRowetc方法,似乎要等到用户与表格交互之后才会最终调用cellForRowetc(前两个方法未被调用)并重绘。

回答

0

我有一个UIActivityIndi​​cator,开始于一个单独的线程,显示何时向Web服务发出请求。 Web服务调用完成后,会向图形控制器类发送通知,以停止并隐藏UIActivityIndi​​cator。在这种方法中,无论视图是否可见,都会在表上调用reloadData,这似乎是导致问题的原因。

结论似乎不是要在表上调用reloadData,除非它是可见的。

相关问题