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