更新数据异步后重绘UITableView

Jim*_*röm 24 iphone uitableview xamarin.ios

我有一个UITableview,我加载数据异步,所以tableview可能会出现没有数据.
我已经厌倦了ReloadData方法,但是在我滚动tableview之前,tableview仍然是空的,突然出现了数据.
当我将tableview作为详细视图加载并在项目之间切换时,会发生同样的事情,首先出现previoud项目数据,当我在表格视图中滚动它显示正确的数据时.
我的猜测是ReloadData方法工作得很好,但我需要以某种方式重绘tableview,有关如何解决此问题的任何建议?

/麦

yon*_*nel 54

你说过你是异步填充内容但你是否在主线程的上下文中调用了reloadData?(而不是通过填充内容的线程)

Objective-C的

[yourUITableView performSelectorOnMainThread:@selector(reloadData)
                                  withObject:nil 
                               waitUntilDone:NO];
Run Code Online (Sandbox Code Playgroud)

迅速

dispatch_async(dispatch_get_main_queue(), { self.tableView.reloadData() })
Run Code Online (Sandbox Code Playgroud)

MonoTouch的

InvokeOnMainThread(() => this.TableView.ReloadData());
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你解决了它=)monotouch的解决方案是:InvokeOnMainThread(()=> this.TableView.ReloadData()); (7认同)