为什么我的tableView在没有向下滚动的情况下不会更新?

时间:2011-02-24 09:38:56

标签: iphone objective-c cocoa-touch xcode ios-4.2

我正在制作基于导航的应用。在我的表视图中,我正在解析xml并显示其数据。当我在我的xml中输入新的feed项并单击刷新按钮时,我的数据更新但它没有出现在tableView中,直到我向下滚动它。当我向下滚动它时,它会出现。任何人都可以告诉我为什么会这样发生吗?我希望在输入Feed项时不显示新的数据而不向下滚动tableView。 Thanx寻求帮助

7 个答案:

答案 0 :(得分:2)

您需要调用[self.tableView reloadData]以使用新内容更新tableView

答案 1 :(得分:1)

数据刷新后是否调用了[tableView reloadData]?

答案 2 :(得分:1)

我不确定你的意思。一个简单的重新加载是: [myTableView reloadData] 在UITableViwController中 [self.tableView reloadData]

如果向下滚动,渲染的新单元格将使用新数据。但必须告诉显示的细胞立即更新。

答案 3 :(得分:1)

您需要重新加载单元格(或整个表格)才能显示新数据。 取决于您是否立即返回已解析的结果,或者是否已解析整个xml文件之后的所有结果。

更新表格的代码是:

[myTableView reloadData];

答案 4 :(得分:1)

您必须调用[tableView reloadData]来刷新UITableView中的数据。

答案 5 :(得分:1)

解析完成后调用[tableView reloadData]

答案 6 :(得分:0)

不仅仅是-reloadData,您可以使用以下任何一种:

  • reloadData
  • reloadRowsAtIndexPaths:withRowAnimation:
  • reloadSections:withRowAnimation:
  • reloadSectionIndexTitles

基本上,您需要告诉您的tableview您的数据已更改,因此它知道要更改它。你可以用精美的动画和诸如此类的东西来做到这一点,这样当屏幕上显示的内容突然改变时,用户就不会感到困惑。