NSWindowController
別のペン先でインスタンス化してのインスタンスを作成しようとしています。ただし、nibファイルでオブジェクトをインスタンス化する場合、オブジェクトは。を呼び出すことによって初期化され-initWithCoder:
ます。
-initWithCoder:
はの指定された初期化子ではないNSWindowController
ため、のインスタンスがNSWindowController
実際にペン先をロードすることはありません。
インスタンスをInterfaceBuilderNSWindowController
のファイルに配置してインスタンス化する代わりに、プログラムで作成します。MainMenu.xib
AppDelegate.hで:
@class YourWindowController;
@interface AppDelegate : NSObject
{
YourWindowController* winController;
}
@end
AppDelegate.mの場合:
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(NSNotification*)notification
{
winController = [[YourWindowController alloc] init];
[winController showWindow:self];
}
- (void)dealloc
{
[winController release];
[super dealloc];
}
@end
YourWindowController.m内:
@implementation YourWindowController
- (id)init
{
self=[super initWithWindowNibName:@"YourWindowNibName"];
if(self)
{
//perform any initializations
}
return self;
}
@end