Objective c 调用AppDelgate或调用ViewController
我希望AppDelegate和ViewController在启动时都能按预期调用 仅调用ViewController时: main.c 调用AppDelegate而未调用视图控制器时 main.c 我想我的问题是,第二次尝试的主要。c是Objective c 调用AppDelgate或调用ViewController,objective-c,macos,viewcontroller,appdelegate,Objective C,Macos,Viewcontroller,Appdelegate,我希望AppDelegate和ViewController在启动时都能按预期调用 仅调用ViewController时: main.c 调用AppDelegate而未调用视图控制器时 main.c 我想我的问题是,第二次尝试的主要。c是 NSApplication *application = [NSApplication sharedApplication]; [[NSBundle mainBundle] loadNibNamed:@"ViewController&q
NSApplication *application = [NSApplication sharedApplication];
[[NSBundle mainBundle] loadNibNamed:@"ViewController" owner:application topLevelObjects:&tl];
没有按预期工作。在IB中,我实际在哪里设置“Nib”
怎么了?你有这种困惑。。。。你应该仔细看看我的另一个答案: 您的第一个main.c示例完全错误。您的第二个main.c更接近我给出的示例,但您调用的是viewController,您应该在其中引用MainMenu nib,如我的示例所示 这一行是错误的:
[[NSBundle mainBundle] loadNibNamed:@"ViewController" owner:application topLevelObjects:&tl];
把笔尖的名字放在那里。。。这就是为什么方法参数被称为loadNibNamed:-并去掉@ViewController
现在,如果您试图调用一个完整的nib,那么您实际上不需要我的示例。这是为那些真正尝试完全编程的人设计的。请阅读Cocoa编程的介绍。只有在您调用上一行触发的默认运行循环时终止,应用程序才会到达返回点。默认的应用程序运行循环类似于while true{shoulddosomething}。简单看一下,你就会知道如何正确地做。
NSApplication *application = [NSApplication sharedApplication];
[[NSBundle mainBundle] loadNibNamed:@"ViewController" owner:application topLevelObjects:&tl];
[[NSBundle mainBundle] loadNibNamed:@"ViewController" owner:application topLevelObjects:&tl];