我有一个表视图控制器,它发出一个http请求,返回xml。我解析xml并将其显示在UITableView中。第一次调用http请求时,一切都按预期工作。我第二次调用http请求:我按预期收到xml,但表没有更新。我每隔2秒调用一次TableView的reloadData方法,这样就没有任何想法的问题????
答案 0 :(得分:7)
在更新XML之后在某处设置断点,并检查您提供表视图的数据是否符合您的预期。如果没有,请通过调用堆栈查看您丢失的内容。此外,设置计时器以重新加载表视图实际上是一个不好的做法。只需在数据发生变化后重新加载即可。
答案 1 :(得分:2)
每2秒重新加载一次tableview是最糟糕的编码方式。仅在实际需要时重新加载tableview数据
如果你没有使用线程,请确保你使用它们,以便在你发出http请求时永远不会阻止你的主线程和ui,因为http请求需要一段时间才能完成。
答案 2 :(得分:0)
与Marc的响应非常相似,但操作略有不同 - 在cellForIndexPath中设置断点,在此处将数据加载到单元格中并查看(如Marc所提到的)新数据是否存在。
如果表没有重新加载,那么你的数据就没有到达表可以看到新内容的地方。