ios - 在 UISplitViewController 应用程序中从 DetailViewController 获取 MasterViewController

标签 ios swift uisplitviewcontroller

我在 Xcode 6.1.1 的 Swift 中有一个标准的 SplitViewController 应用程序。如果我的 DetailViewController 有一个指向我的 MasterViewController 的指针,那将非常方便。 (我不需要发送通知,但我需要从我的 MVC 中提取当前状态机)

我的想法是,我会使用我的 DetailViewController viewDidLoad 方法从 SplitViewController 中获取 MasterViewController。

在我的 DetailViewController:viewDidLoad 中有

(snip)

    let tVC = self.splitViewController?.viewControllers[0] as? UIViewController
    let tNav = self.splitViewController?.viewControllers[0] as? UINavigationController
    let tMVC = self.splitViewController?.viewControllers[0] as? MasterViewController

当我检查这些时,我的 tVC 和 tNav 变量已成功设置,但我的 tMVC 为零。我以为 splitViewController.viewController[0] 会直接给我我的 MasterViewController,但我得到的是 UINavigationController。

我错了吗/有更好的方法吗?

最佳答案

找到了。

let tNav = self.splitViewController?.viewControllers[0] as? UINavigationController
if let tMVC = tNav?.topViewController as? MasterViewController {
        masterViewController = tMVC
        stateMachine = tMVC.stateMachine
    }

关于ios - 在 UISplitViewController 应用程序中从 DetailViewController 获取 MasterViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27151415/

相关文章:

iphone - 当“应用程序不在后台运行”设置为"is"时,无法使用 facebook ios sdk 在 facebook 墙上发帖

ios - 随机 UISearchDisplayController 崩溃 (iOS 7)

swift - 在 UIableView 中设置要突出显示的默认单元格

ios - 我们可以在 SWIFT 中使用 HTML 代码吗?

objective-c - 关闭在 iphone SDK 中选择的 Popover 行上的模态视图

uiviewcontroller - Storyboard、UIViewController 和 UISplitViewController

iphone - 结合 GLKView 与 UIBUtton

facebook - iOS 和 Facebook 图形 API : Inconsistent authorize issues

ios - Swift:遍历 plist

ios - Tint Color 适用于原生颜色,但不适用于图案图像中的颜色