简体   繁体   English

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

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

I have a standard SplitViewController app in Swift in Xcode 6.1.1. 我在Xcode 6.1.1中的Swift中有一个标准的SplitViewController应用程序。 It would be very convenient for my DetailViewController have a pointer to my MasterViewController. 我的DetailViewController拥有一个指向MasterViewController的指针将非常方便。 (I don't need to send notifications, but I need to pull the current statemachine from my MVC) (我不需要发送通知,但是我需要从我的MVC中提取当前状态机)

My thought was that I would use my DetailViewController viewDidLoad method to grab the MasterViewController from the SplitViewController. 我的想法是,我将使用DetailViewController的viewDidLoad方法从SplitViewController中获取MasterViewController。

In my DetailViewController:viewDidLoad I have 在我的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

When I inspect these, my tVC and tNav variables were successfully set, but my tMVC was nil. 当我检查这些时,我的tVC和tNav变量已成功设置,但我的tMVC为零。 I thought that the splitViewController.viewController[0] would give me my MasterViewController directly, but I'm getting a UINavigationController instead. 我以为splitViewController.viewController [0]会直接给我MasterViewController,但我却得到了UINavigationController。

Am I wrong/is there a better way to do this? 我错了/是否有更好的方法来做到这一点?

Found it. 找到了。

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.

相关问题 无法从MasterViewController访问DetailViewController - Unable to access DetailViewController from MasterViewController 在SplitViewController中从DetailViewController隐藏MasterViewController - Hide MasterViewController from DetailViewController in a SplitViewController 使用prepareForSegue显示从MasterViewController到DetailViewController的字符串 - Displaying a string from MasterViewController to DetailViewController using prepareForSegue 从App Deligate UISplitViewController(MobileVLCKit)中的DetailViewController访问活动的Mediaplayer - Access active Mediaplayer from DetailViewController in App Deligate UISplitViewController (MobileVLCKit) 将数据从detailViewController向后传递到masterViewController - Pass data backward from detailViewController to masterViewController ISplitViewController:DetailViewController可以从MasterVIewController加载数据而不需要回传吗? - ISplitViewController: Can DetailViewController load data from MasterVIewController without segueing back? 从MasterViewController在DetailViewController中设置detailItem时出现奇怪的错误 - Weird Error when setting detailItem in DetailViewController from MasterViewController 我应该如何从更改的masterViewController跟踪detailViewController? - how should I keep track of a detailViewController from a changing masterViewController? 如何从detailViewController填充数组并返回iOS中的masterViewController? - How to populate an array from detailViewController and return to masterViewController in iOS? UISplitviewController首先显示MasterViewController - UISplitviewController First Show MasterViewController
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM