gpt4 book ai didi

ios - willMoveToParentViewController 和 didMoveToParentViewController

转载 作者:行者123 更新时间:2023-11-28 19:03:23 26 4
gpt4 key购买 nike

我有两个 View Controller ,它们是 VCA 和 VCB。我还有一个导航 Controller ,可以从 VCA 推送到 VCB。在VCA的prepareForSegue方法中,有如下一行代码:

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"placePiece"]) {
NSLog(@"go to screen two");
}
}

在我的 VCB 中,我有以下两种方法:

- (void) willMoveToParentViewController:(UIViewController *)parent {
NSLog(@"will move back to screen one");
}

- (void) didMoveToParentViewController:(UIViewController *)parent {
NSLog(@"did move back to screen one");
}

我不明白的是,当我从 VCA 转到 VCB 时,我在控制台中收到以下消息:

2014-03-31 15:38:05.317 Li-Lab5[18865:60b] go to screen two
2014-03-31 15:38:05.318 Li-Lab5[18865:60b] will move back to screen one
2014-03-31 15:38:05.848 Li-Lab5[18865:60b] did move back to screen one

为什么这里调用了 willMoveToParentViewControllerdidMoveToParentViewController 方法?

此外,是否有一种用于 VCA 和 VCB 的方法,以便当 VCA 转到 VCB 时,调用 VCA 中的方法。当 VCB 返回到 VCA 时,VCB 中的一个方法被调用。我只是想用这些方法做一些阅读和写作。谢谢

最佳答案

可以在VCB的viewWillDisappear:中设置一个全局的BOOL变量为YES,然后在VCA的viewWillAppear:中设置一个全局的BOOL变量>,如果变量是 YES,那么您就从 VCB 转到了 VCA。只需确保在 VCA 的 viewDidAppear: 中将变量设置回 NO

关于ios - willMoveToParentViewController 和 didMoveToParentViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22771769/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com