Cocoa开发中怎样获得实例化的ViewController类?

如图,我在MainMenu.xib中拖入了一个Object,设定成我自己的mainMenuWindowController类,然后把界面元素的Outlet和Action绑定到里面。
程序运行的时候会加载这个nib,然后实例化里面的对象
现在我想在其他的类里面使用这个对象,我该如何从nib里获取它呢?图片描述

阅读 7.2k
2 个回答

NSViewController* viewController = [[NSViewController alloc] initWithNibName:@"SomeNibName" bundle:nil];

新手上路,请多包涵

MainMenu.xib一般都有个AppDelegate的实例。先到自动生成的AppDelegate类的头文件里声明一个MainWindowController的IBOutlet,再回MainMenu.xib里,把MainWindowController的实例(蓝色立方体)和刚刚在AppDelegate里声明的IBOutlet连起来就行了。

接着,其余的代码需要访问实例化的MainWindowController,都可以通过AppDelegate的这个IBOutlet property或ivar。当然,要等到-awakeFromNib以后访问才有效。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进