繁体   English   中英

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

[英]getting the MasterViewController from the DetailViewController in a UISplitViewController app

我在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
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM