gpt4 book ai didi

objective-c - performSegueWithIdentifier 的调用顺序

转载 作者:搜寻专家 更新时间:2023-10-30 20:21:02 26 4
gpt4 key购买 nike

当我调用 performSegueWithIdentifier: 时,我会覆盖 prepareForSegue: 以便在我的目标 View Controller 上设置一些属性。但是,我试图了解此处的操作顺序以确保其安全。

我实例化目标 View Controller :

MyViewController *myVC = (MyViewController*)segue.destinationViewController;

之后,我在其上设置了一些属性 - 即,我初始化了另一个处理加载不同 Web View 的对象的创建,然后在该对象上设置了属性:

[myVC setFormHandler:
[[WebFormHandler alloc] initWithSelectedFormName:[self theFormName]]];

在我的目标 Controller 的 viewDidLoad: 中,我然后查询此对象的属性,并使用它来加载正确的 Web View 。现在,我对哪个先发生有点困惑 - 属性的设置,或目标 Controller 上的 viewDidLoad:。可以肯定地说, View Controller 的属性总是在调用 viewDidLoad: 之前从 prepareForSegue: 开始设置吗?

最佳答案

看起来您可能已经从另一篇文章中找到了答案,但我只想补充一点说明。

标准流程是

performSegue -> prepare -> loadView(在目标 Controller 中)

但是,在 popover segues 中,目标 View 在 prepareForSegue 调用之前加载。

注意:在 iOS 8 中不再是这种情况。在 iOS 8 中,popover segue 的 View 不会在调用 prepareForSegue 时加载。

关于objective-c - performSegueWithIdentifier 的调用顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11059143/

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