iOS Segue - 何时实例化 viewControllers

标签 ios uiviewcontroller segue

我有一个简单的 Storyboard,其中有一个主视图 Controller 和两个详细 View Controller ,如图所示。

问题 #1 - SequeA 将呈现 DetailA 的代码位于何处

问题 #2 - 在我的 AppDelegate 代码中,我需要创建一个包含应用程序中所有 ViewController 的数组 - 如何获取该数组? - 它在 Storyboard中,但我如何以编程方式访问它。

我可以通过执行以下操作来获取 MainViewController - myViewControllerMain = (ViewControllerMain*) self.window.rootViewController;

但我不知道如何访问详细 View Controller (a 和 b)

问题 #3 - DetailA 是在 MainViewController 被实例化时被实例化,还是在 Seque 被“触发”时被实例化(这里正确的词是什么 - 称为?)

StoryBoard with MainViewController and Two Detail Views

最佳答案

如果您阅读了该链接,您就会明白没有代码可以按照您的要求执行转场。 . . XCode/Interface Builder)不是代码生成器,如果您使用其他语言的界面生成器,您可能会理解它,它不是为您编写代码,因此找不到。也就是说,您可以通过编程方式调用 segue。

至于列出 ViewController,我认为没有办法按照您希望的方式进行。 ViewControllers 只是特定类型的类。您唯一可以做的就是获取所有已加载类的列表并遍历检查它们是否是 View Controller ,但这会很慢而且我不确定您为什么要这样做,毕竟这是唯一的方法将要执行的代码将包含在您的项目中,您肯定知道您的项目中有哪些代码?

View Controller 在执行 segue 时实例化。

关于iOS Segue - 何时实例化 viewControllers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14607581/

相关文章:

swift - 完全关闭中间的 View Controller

ios - 准备 segue 不允许我设置下一个 viewController 的 NSString

php - CodeIgniter:特定功能应该放在哪里?

ios - UICollectionViewCell 没有 present 成员(为了呈现另一个 View )?

ios - 在使用 push segue 之前检查是否可以使用 unwind segue

ios - WatchKit,我应该从 ExtensionDelegate 更新 UI 吗?

ios - Github API 回调地址

ios - Xcode6 Beta6 : this class is not key value coding-compliant for the key

ios - 静态 UITableViewCell backgroundColor 在 iPad 上始终为白色

objective-c - 在 iOS6 中处理旋转