我已经完成了一些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。
答案 0 :(得分:0)
想出来。通过在我的MainMenu.xib中添加另一个NSWindow并为其创建引用,我可以调用
[self.secondWindow display];
打开第二个窗口。