ios - Swift:App Delegate 应该如何获取对 View Controller 的引用?

标签 ios xcode swift

我已经开始了一个新的 Swift 项目,我正在尝试一些东西以了解布线如何与 Storyboard 一起工作,因为我以前从未使用过它们。

该项目是一个单 View 应用程序,使用由 Xcode 6.1 创建的默认 Storyboard。它生成 AppDelegate.swift 和 ViewController.swift 类以及 Main.storyboard。

顺便说一句,我要结束本教程了:

http://www.raywenderlich.com/74904/swift-tutorial-part-2-simple-ios-app

我使用 Storyboard界面生成器添加了一个按钮和几个 TextView 控件。

我现在想做的是将应用委托(delegate)的应用程序 didFinishLaunching 事件连接到 View Controller 。

func application(application: UIApplication,
     didFinishLaunchingWithOptions launchOptions: 
     [NSObject: AnyObject]?) -> Bool {
}

我发现很多 StackOverflow 文章都在讨论这个问题,但是这些示例都是围绕实例化您自己的 View Controller 展开的。我只想获取对通过 Storyboard启动的 View Controller 的引用。

执行此操作的最佳方法是什么?请随时向我指出适当的文档或其他帖子。

最佳答案

我终于在 checking the current view controller 上找到了这篇文章,它具有我正在寻找的逻辑:

var myViewController : ViewController!
...
if let viewControllers = self.window?.rootViewController?.childViewControllers {
    for viewController in viewControllers {
        if viewController.isKindOfClass(ViewController) {
            myViewController = viewController as ViewController
            println("Found the view controller")
        }
    }
}

关于ios - Swift:App Delegate 应该如何获取对 View Controller 的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28662308/

相关文章:

xcode - 在 Xcode 中创建蓝色文件夹

ios - 动态单元格大小uitableview

ios - 无法通过下标赋值 : subscript is get-only

iphone - 在 TableView 中选择性地加载单元

ios - Dojo:所有可 ScrollView 在应用程序启动时一起呈现

objective-c - XCode/Cocoa Objective-C - 几个问题

ios - Xcode 构建失败 : no rule to process file for architecture armv6

ios - UIButton 左上角和左下角半径显示不正确

ios - 并非所有单元格都加载到表格 View 中,而是出现空白屏幕。 Xcode/Swift

ios - 有没有办法在 Swift 中对常量进行条件赋值?