重新加载表格的数据

我有5个视图控制器,它们位于导航控制器层次结构中。 当我到达我的上一个视图控制器时,有一个按钮可以让我回到“Home”视图控制器(名为CardWalletViewController),它是一个表视图控制器。 这是我上一次VC中的方法( PointsResultsVC

 - (IBAction)homePressed:(id)sender { NSArray *VCs = [self.navigationController viewControllers]; [self.navigationController popToViewController:[VCs objectAtIndex:0] animated:YES]; } 

CardWalletVC的单元格正在填充来自NSUserDefaults中保存的卡实例的值,它可以正常工作。

现在,我想要的是更新我的CardWalletViewController的值,这是来自我的PointsResultsVC的卡片的点。 请注意,此点保存在NSUserDefault

在尝试更新我的CardWalletVC中显示的值的过程中,我放置了[self.tableView reloadData];-viewDidLoad-viewWillAppear和 – 上述类的 – viewDidAppear中。 我尝试在每种方法中逐一放置它,但它似乎不起作用。

建议请。

编辑:问题解决了

这个作为我的指南从一个选项卡保存数据,并在另一个选项卡中重新加载数据 。

正如我所发现的-viewDidLoad ,某个类的-viewDidLoad只会被调用一次,所有这些都会在app的运行时间内完成。 而-viewWillAppear ,每次出现视图时都会调用它。

所以,我只是改变了我将NSUserDefaults中保存的值从-viewDidLoad-viewWillAppear 。 另外,在-viewWillAppear我放置了[self.tableView reloadData] 。 然后,问题解决了。

有很多事情可能会出错,因此您需要提供更多信息以缩小范围。

首先,不会调用viewDidLoad,因此您可以从此处删除它。 将调用viewWillAppear和viewDidAppear,因此您只需要这两种方法中的一种。

接下来,您需要确定实际问题。

1 – 是self.table查看对表的正确引用? 你是否正确维护参考?

2 – 表是实际重新加载但使用旧数据,还是根本没有重新加载? 您可以记录willDisplayCell方法以查看视图出现时发生的情况。

有了这些信息,根本原因可以缩小到可解决的问题。