Objective c 重新加载根视图控制器

Objective c 重新加载根视图控制器,objective-c,ios,cocoa-touch,uiviewcontroller,uinavigationcontroller,Objective C,Ios,Cocoa Touch,Uiviewcontroller,Uinavigationcontroller,我正在应用程序中使用UINavigationController。在viewDidLoad中,根视图控制器从internet获取信息,对其进行解析并显示 当转到UINavigationController中的另一个视图,然后返回根UIViewController时,不会重新加载控制器中的信息。这让我想到,viewDidLoad没有被调用 在UINavigationController中弹出根视图控制器时,我应该使用什么方法确保重新加载此信息 编辑: 谢谢大家的快速反应,这意味着很多。关于您的答案

我正在应用程序中使用
UINavigationController
。在
viewDidLoad
中,根视图控制器从internet获取信息,对其进行解析并显示

当转到
UINavigationController
中的另一个视图,然后返回根
UIViewController
时,不会重新加载控制器中的信息。这让我想到,
viewDidLoad
没有被调用

UINavigationController
中弹出根视图控制器时,我应该使用什么方法确保重新加载此信息

编辑:


谢谢大家的快速反应,这意味着很多。关于您的答案,还有一个问题:
视图将出现
视图显示
?每个视图都有优点/缺点吗?

您应该使用
viewDidAppear
viewDidLoad
仅在第一次加载视图后调用

请在此处查看:


您应该处理
视图将显示:
视图显示:
,这取决于您希望在屏幕上显示W视图之前还是之后重新加载<加载视图时,code>viewDidLoad仅被调用一次。

您是对的,它没有被调用。如果您想在每次转到
UIViewController
(您的
UINavigationController
中有一个)时调用它,只需将它放在
viewdide
视图将出现



viewwillbeen
发生在
viewdidebeen
之前。为了提高速度,我会以异步方式在辅助线程上的
viewdide
上执行此操作,这样UI线程就不会减慢速度。一旦检索到数据,我将更新视图。

viewDidLoad
仅在最初创建视图控制器时调用,或者由于它被隐藏且应用程序收到内存警告而卸载时调用。您可以交替实施
视图将出现:
视图显示:
来刷新UI。

这取决于从internet检索和处理信息的时间,您可能还需要调用
setNeedsDisplay
,这将告诉设备需要刷新视图。@设备这是对您后续问题的一个很好的回答。视图将在视图显示之前处理,视图将在视图推到堆栈顶部后处理。