如何重新加载父UINavigationController?

时间:2009-05-25 08:53:51

标签: iphone cocoa-touch

我的RootViewController包含一个表视图和一个导航栏。点击一行后,另一个视图控制器被推送到堆栈,即SecondViewController。如果单击“返回”按钮,则会从堆栈中弹出SecondViewController,但父视图控制器的数据已过期。

我怎样才能重新加载RootViewController的数据?我的第一次尝试是实施

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated

再次调用viewdidLoad。

问题是,在第一次加载时,viewDidLoad将被调用两次。

1 个答案:

答案 0 :(得分:9)

在viewWillAppear:方法而不是viewDidLoad中加载表中的数据。 每次出现视图时都会调用viewWillAppear,而在创建视图时只调用一次viewDidLoad。

因此,在viewWillAppear中加载数据:将确保您的表在显示时具有最新数据。