2010-04-13 133 views
0

我想从缓存中加载表视图非常快,并有表格视图中的缓存数据出现。然后我想下载新的数据,然后重新加载表格。现在,我正在viewDidAppear上下载新数据,但视图在显示之前仍然刷新。任何想法我怎么能做到这一点?加载后刷新UITableView

+0

所以我想我的问题是如何从它的委托类异步调用类的方法。 – lavoy 2010-04-14 13:31:57

回答

0

只需在下载后调用[tableView reloadData]即可。这将触发表格单元的刷新。

要下载新数据,您可以考虑使用Cocoa Streams,特别是异步Socket Stream。在流代理中,下载完成后请致电reloadData

+0

我知道该怎么做,但我需要从网络上重新下载数据。我在想@paull是在正确的轨道上,但我仍然不知道如何在代表中这样做。 – lavoy 2010-04-13 13:53:22

0

viewDidAppear不是下载数据的好地方;它是真正用于清理数据后,所以我可以理解你为什么使用它。您应尽早请求重新加载数据,例如viewDidLoadviewWillAppear(取决于您的重用或其他视图控制器)。

如果您正在进行异步下载,您应该将reloadData调用放到您的委托回调函数中,以便数据完成。

+0

代码中代码的代码是什么? – lavoy 2010-04-13 13:53:58

+0

这很难说,因为你没有说你是如何做下载的。但它应该使用NSURLConnection。执行表格刷新的代码与发布完全一样。 – 2010-04-13 15:37:43

+0

我知道如何从网络中获取数据(NSURLConnection),并且我知道如何使用新数据或现有数据([tableView reloadData])重新加载表。我的问题是如何在启动后在后台执行此操作,并在显示之前启动的缓存数据后执行此操作。我不知道如何将这些片段放入委托中以异步下载。 – lavoy 2010-04-13 18:55:08