UIViewController中的UITableView reloadData不更新表视图

时间:2011-09-18 13:29:50

标签: uitableview uiviewcontroller reloaddata

我的MainViewController是一个UIViewController类,在这个视图中我有一个表视图和嵌入在其中的另一个视图。如您所见,我将表视图委托添加到视图控制器。

@interface MainViewController : UIViewController <FlipsideViewControllerDelegate,   UITableViewDataSource, UITableViewDelegate> {

现在我的问题在互联网上多次搜索已被问过50次,但我仍然无法找到解决方案。

为什么reloadData没有工作......?

我正在从XML Feed下载信息,然后从应用代理刷新Feed:

- (void)applicationDidBecomeActive:(UIApplication *)application

我已插入多个NSLog,这是我发现的。来自XML feed的刷新数据没有问题。但是表视图单元格没有被刷新。

我放了一个NSLog:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

虽然数据正在刷新,但是当我调用[tableView reloadData]时;永远不会调用cellForRowAtIndexPath。

我希望有人可以帮我解决这个问题,我一直在研究这个问题大约12个小时没有运气。我已经用尽了多个网站上的搜索按钮......

供参考: -Table View在Interface Builder中连线。

- 从表视图编程指南第51页开始的Apples示例之后,通过TableViewCells逐个加载我的表。

附加代码:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return 17;
}

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

你有任何代码示例吗?

我的第一个想法:

  • 数据源未连接
  • 部分中的行返回0
  • 章节返回0

答案 1 :(得分:0)

现在一切正常......我浪费了很多时间......

- (void)applicationWillEnterForeground:(UIApplication *)application
{
[_mainViewController refresh];
[_mainViewController.tableView reloadData];
}

- (void)refresh {
Parser *xmlParser = [[Parser alloc] init];
[xmlParser parseRssFeed:@"http://www.somesite.com/file.xml" withDelegate:self];
[xmlParser release];
[self.tableView reloadData];
}