繁体   English   中英

UITableView cellForRowAtIndexPath偶尔不调用?

[英]UITableView cellForRowAtIndexPath occasionally not called?

我正在开发一个绘图应用程序,该应用程序在主导航/选项卡视图上显示一个UIView,该UIView使用openGL渲染图形。 在该视图下面是一个UITableView,它显示图形上的元素列表以及一个添加按钮。

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

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

尽管调用了numberOfSectionsInTableView和numberOfRowsInSection,但cellForRowAtIndexPath却没有,尽管后两种方法都返回正值。

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

有人有什么想法吗?

[edit]应该快速添加; 单击表视图或以其他方式与表视图交互,无论是否如描述的那样出错,总是导致其成功重绘。

[再次]更多信息; 当它如上所述发生故障并调用前两个方法但不调用cellforRowetc方法时,似乎要等到用户与表进行交互之后,才最终调用cellForRowetc(然后不调用前两个方法)并重新绘制。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM