OSX:loadView不执行

时间:2013-12-02 03:56:19

标签: objective-c macos loadview

我已经完成了一些iOS编码,但现在我正在尝试编写一个Mac App。这个链接:viewDidLoad in NSViewController?表示viewDidLoad的OSX等价物是loadView。我想在视图出现时立即调用初始化方法,但是loadView似乎没有执行;也就是说,我的视图控制器中的以下代码:

- (void)loadView {
    [super loadView];
    NSLog(@"Test");
    [self addPanGesture];
}

似乎没有做任何事情。 NSLog永远不会显示,并且方法addPanGesture永远不会执行。我错过了一些非常愚蠢的东西,或者loadView不再是正确的覆盖方法吗?

编辑:我切换到windowDidLoad并根据Ahmed Z的建议删除了超级调用,但这也不起作用。除了简单地在iOS中添加方法之外,我还需要做什么吗?此外,我在顶部发布的链接似乎在“已接受”的答案(不是最高评级的答案)中说,从Mac OSX 10.5开始不再使用windowDidLoad

编辑2:似乎值得一提的是我正在使用xib文件。一个stackoverflow链接表示仅在以编程方式设置视图时才调用loadView。

1 个答案:

答案 0 :(得分:0)

想出来。通过在我的MainMenu.xib中添加另一个NSWindow并为其创建引用,我可以调用

[self.secondWindow display];

打开第二个窗口。