主视图中的 UISplitViewController 详细视图控制器加载 window

UISplitViewController detail view controller loads in master view window

我有一个 UISplitViewController 具有以下布局,由一个主视图控制器和详细视图控制器组成。

这对于具有单个视图的基本拆分视图来说效果很好,但我需要支持来自 UITableViewController(主视图)的多个 segue,并且在数据传递之前不加载详细视图;否则应用程序将因可选错误而崩溃。

我试过这样设置;

这将加载一个空白ViewController作为详细信息,当UISplitViewController加载时,选择了一行时,i具有详细信息到另一个视图控制器,应显示为UISplitViewController 中的详细视图。

不幸的是,这并不完全有效,所有数据都在没有崩溃的情况下传递和加载,但细节 segues 实际上在拆分视图的主视图 window 中加载视图控制器,而不是细节视图。

有点像这样,

我如何拥有多个细节视图控制器,直到从主视图 UITableViewController 启动 segue 并在细节 window 中打开它们才加载?

这是来自 MasterViewController 的代码

override func viewDidLoad() {
    super.viewDidLoad()
    self.splitViewController!.delegate = self;
    self.splitViewController!.preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible

    self.extendedLayoutIncludesOpaqueBars = true
}


func splitViewController(splitViewController: UISplitViewController, collapseSecondaryViewController secondaryViewController: UIViewController, ontoPrimaryViewController primaryViewController: UIViewController) -> Bool {
    return true
}

如果 segue 已经存在,则尝试从主视图中删除 segue 到其他详细视图,然后使用详细 segue 重新创建它们。