我有一個簡單的可可應用程序。它有兩個窗口,每個窗口在一個單獨的XIB文件:一個應用程序代表,兩個窗口
- MainMenu.xib
- SecondaryWindow.xib
我有一個AppDelegate類,其具有在MainMenu.xib窗口的引用。我試圖讓它有一個對SecondaryWindow.xib中的窗口的引用。我很困惑如何做到這一點。我做了一個插座,因爲這樣的:
@interface AppDelegate : NSObject <NSApplicationDelegate>
@property (assign) IBOutlet NSWindow *window;
@property (assign) IBOutlet NSWindow *secondaryWindow;
@end
這裏的實現:
@implementation AppDelegate
@synthesize window = _window;
@synthesize secondaryWindow = _secondaryWindow;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
[NSBundle loadNibNamed:@"SecondaryWindow" owner:self];
NSLog(@"_window = %@", _window);
NSLog(@"_secondaryWindow = %@", _secondaryWindow);
}
@end
_secondaryWindow總是(空)
我已經從SecondaryWindow.xib連接增加一個出口第二個窗口到AppDelegate中的插座。在SecondaryWindow.xib中,我還需要做些什麼才能完成連接?
編輯:添加[一個NSBundle loadNibNamed ...]
感謝馬丁。我添加了[NSBundle loadNibNamed ..],因爲它是最接近我可以在文檔中找到您的建議。我修改了我的問題以表明這一點。但仍然,secondaryWindow是空的...我在loadNibNamed中使用了錯誤的所有者?或者,也許applicationDidFinishLaunching不是正確的方法? – 2012-07-24 13:10:24
剛剛編輯我的答案:) – 2012-07-24 13:26:23
嗨馬丁,我仍然無法找到[[NSBundle mainBundle] loadNibNamed ...]可能是iOS和不是OS X? – 2012-07-24 13:49:11