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


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

xcode mac objective-c cocoa

魑魅卐魍魉 10 years, 3 months ago

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

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

许愿-六芒星 answered 10 years, 3 months ago

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

InDia神牛 answered 10 years, 3 months ago

Your Answer