在iPhone应用程序中重新加载表格视图?

时间:2009-03-25 00:16:24

标签: iphone cocoa cocoa-touch

我有一个表视图控制器,它发出一个http请求,返回xml。我解析xml并将其显示在UITableView中。第一次调用http请求时,一切都按预期工作。我第二次调用http请求:我按预期收到xml,但表没有更新。我每隔2秒调用一次TableView的reloadData方法,这样就没有任何想法的问题????

3 个答案:

答案 0 :(得分:7)

在更新XML之后在某处设置断点,并检查您提供表视图的数据是否符合您的预期。如果没有,请通过调用堆栈查看您丢失的内容。此外,设置计时器以重新加载表视图实际上是一个不好的做法。只需在数据发生变化后重新加载即可。

答案 1 :(得分:2)

嘿,你在使用线程吗?如果是,则需要确保在主线程上重新加载tableview数据 - 否则在滚动之前tableview不会刷新

每2秒重新加载一次tableview是最糟糕的编码方式。仅在实际需要时重新加载tableview数据

如果你没有使用线程,请确保你使用它们,以便在你发出http请求时永远不会阻止你的主线程和ui,因为http请求需要一段时间才能完成。

答案 2 :(得分:0)

与Marc的响应非常相似,但操作略有不同 - 在cellForIndexPath中设置断点,在此处将数据加载到单元格中并查看(如Marc所提到的)新数据是否存在。

如果表没有重新加载,那么你的数据就没有到达表可以看到新内容的地方。