UIViewController reloadData 中的 UITableView 不更新表视图
我有我的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你有示例代码吗?
我的第一个想法:
Do you have any example Code ?
My first ideas:
现在一切正常...我浪费了很多时间...
Everything is working now... That was a lot of time wasted on my part...