UIViewController reloadData 中的 UITableView 不更新表视图

发布于 2024-12-05 02:49:02 字数 1288 浏览 0 评论 0原文

我有我的 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 个小时,但没有成功。我已经用尽了多个网站上的搜索按钮......

仅供参考: - 表视图在 Interface Builder 中连接。

-我的表格正在通过 TableViewCells 一张一张地加载,遵循从表视图编程指南第 51 页开始的 Apple 示例。

附加代码:

- (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;
}

感谢您的帮助

I have my MainViewController which a UIViewController class, in this view I have a table view and another view embedded in it. As you can see I added the table view delegates to the view controller.

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

Now to my question which has been asked about 50 times from multiple searches on the internet but still I have not been able to find a solution.

Why doesn't reloadData work...?

I am downloading info from an XML feed and I refresh the feed from the app delegate:

- (void)applicationDidBecomeActive:(UIApplication *)application

I have inserted multiple NSLogs, this is what I have found. The refreshed data from the XML feed is coming in no problem. But the table view cells are not being refreshed.

I placed a NSLog in:

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

Although the data is being refreshed, when I call [tableView reloadData]; the cellForRowAtIndexPath is never called.

I am hoping someone can help me with this issue, I have been working on this issue for about 12 hours with no luck. I have exhausted the search button on multiple sites....

FYI:
-Table View is wired in Interface Builder.

-My tables are being loaded one by one via TableViewCells, following Apples example starting on page 51 of the Table View Programming guide.

Additional Code:

- (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;
}

Thanks for the help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

淡淡绿茶香 2024-12-12 02:49:02

你有示例代码吗?

我的第一个想法:

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

Do you have any example Code ?

My first ideas:

  • Datasource not connected
  • Rows in Section give 0 back
  • Sections give 0 back
陪你到最终 2024-12-12 02:49:02

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

- (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];
}

Everything is working now... That was a lot of time wasted on my part...

- (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];
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文