繁体   English   中英

UITableView奇怪的reloadData问题

[英]UITableView weird reloadData issue

我陷入了一个非常奇怪的问题,他们正在做的是调用NSURLConnection sendAsynchronousRequest ,其中我重新加载tableView并且它没有任何问题。 当收到请求响应时,当站在同一个ViewController上时,这种情况正常工作。 当我调用sendAsynchronousRequest并从ViewController移动然后在请求给出响应之前返回它时,会出现问题。 这次调用TableView reloadData但在View上没有做任何事情。 我在这个dispatch_async(dispatch_get_main_queue(), ^{});调用reloadData dispatch_async(dispatch_get_main_queue(), ^{}); 它可以在mainThread上运行。

在这方面的任何帮助都会很棒。

编辑1:

这是我到目前为止所得到的...当我启动NSURLConnection asyncRequest时,它保持对当前时间的tableView和数组的引用。但是当我从该视图导航然后返回视图时重新初始化所以tableView和数组有新的引用。 因此,当asyncRequest调用tableView ReloadData时,它会调用旧引用的tableView的reload,而不是现在可见的那个,因此不会重新加载tableView ...希望现在你可以提供帮助。

而不是在主线程上重新加载tableview,尝试在获取数据并重新解析数据后重新加载它。 在视图之间切换可能会导致您的tableview在数据来自服务器结果空白tableview之前重新加载,这是由于在主线程上调用某些方法引起的。

编辑:尝试仅在从服务器获得响应之后以及在加载数据之前初始化viewdidload中的tableview和数组。

暂无
暂无

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

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