OStack程序员社区-中国程序员成长平台

标题: ios - ViewController 在加载后不会更新 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 09:47
标题: ios - ViewController 在加载后不会更新

我有两个使用导航栏的 View Controller 。第一个 viewController 显示了我在第二个 viewController 上更改的一些数据。

因此,如果我加载第二个 viewController,NavBar 中会出现一个后退按钮,我可以更改我的值(并且它们已存储,我使用了调试器)。我的问题是,在点击返回按钮来到我的 firstView Controller 后,它没有调用它的 viewDidLoad 方法。很明显,当不调用此函数时,根本没有更新值。

在第一次启动时,调用 viewDidLoad 方法并执行我希望它执行的操作。在 viewController 之间来回切换后,该方法不再被调用。

有什么解决办法吗?

谢谢!

编辑:

已解决

我不想删除我的问题,也许有人也需要这个:

每次 View 出现时都会调用这个方法,可能默认没有定义:

-(void)viewDidAppearBOOL)animated
{
NSLog(@"View appeared.");
}



Best Answer-推荐答案


viewWillAppear 中的更新代码(如 [[self view] setNeedsDisplay];)。

为了清楚起见:viewDidLoad 在你的 View 被加载时被调用。这发生在第一次显示 View 时。然后,当您导航到下一个 View 时,仍然可以加载第一个 View (取决于您的代码)。因此,当您导航回该 View 时,不会调用 viewDidLoad,因为该 View 仍然存在。

但每次要显示 View 时(例如,当您导航回该 View 时)都会调用方法 viewWillAppearviewDidAppear

希望对您有所帮助。

关于ios - ViewController 在加载后不会更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8212580/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4