OS X:由于缺少入口点,场景无法到达

OS X: Scene is unreachable due to lack of entry points

此问题可能与 iOS、 相关,但与 OS X 无关。我已经努力了三天,只是尝试使用故事板在 NSView 中嵌入 NSViewNSViewController

使用 .xib 或 .nib 效果很好:(按下下一个按钮时,它会在容器视图中显示 customView1 或 customView2。

尝试使用故事板无效。事实上,对于如何连接、嵌入、调用、召唤或请求 customView1customView2 以使其自身进入容器视图,我没有任何概念或线索。

我似乎无法访问它自己的 View Controller 之外的任何内容!?!

正常工作的功能示例(来自 .nib):

这是一种方法。

您可以将两个 "Container View" 对象作为顶级对象添加到主视图控制器,并将它们连接到控制器中的 NSView 插座。这将自动创建两个新的视图控制器场景,Embed 从容器视图到子视图控制器。

您的视图控制器现在具有对两个内部 NSView 的引用,您可以随意操作它们。

如果您需要对子视图控制器的引用,请为每个 Embed segue 分配一个故事板标识符并实施 -prepareForSegue:sender:

- (void)prepareForSegue:(NSStoryboardSegue*)segue sender:(id)sender
{
    if ([segue.identifier isEqual:@"Embed1"])
    {
        _innerController1 = segue.destinationController;
    }
    else if ([segue.identifier isEqual:@"Embed2"])
    {
        _innerController2 = segue.destinationController;
    }
}

作为 segues 的替代方法,您可以为每个内部视图控制器分配一个故事板标识符,并在故事板的代码中实例化它们:

_innerController1 = [self.storyboard instantiateControllerWithIdentifier:@"InnerController1"];

您还可以自由混合 Storyboard 和 NIB,这样您就可以在单独的 NIB 中设计您的内部视图,并在代码中实例化它们。