単一ウィンドウの MacOS X アプリケーションがあります。
MainMenu.xib NIB ファイルの一部を接続する方法がわかりません。
私がする必要があるのは、MainMenu の(void)windowDidLoad
関数でいくつかのことを実行できるようにすることです。MainMenu.xib ファイルを .m ファイルに接続する方法がわかりません。
NIB ファイルに NSObject ファイルを作成し、それを MainController というファイルに接続して、そこで多くのことを行いました。
編集
OK、私の質問を明確にするために:
新しいプロジェクトを作成するとしましょう (私は Xcode 4.3.2 を使用しています)。
[File] > [New] > [Project] を選択し、[Mac OS X] > [Application] > [Cocoa Application ] を選択して [Next] をクリックし、
製品名をAwesomesauceに設定し、すべてのチェック ボックスをオフにして [Next] をクリックし、最後にプロジェクトを保存するフォルダーを選択します。
現在、3 つのファイルAppDelegate.h
がAppDelegate.m
ありますMainMenu.xib
(サポート ファイル フォルダーには、考える必要がないと思われるものもあります)。
にNSWindowController
接続できるファイルが必要MainMenu.xib
です。新しいファイルを作成し (Objective-c Class > NSWindowController)、名前を付けますMainMenuController
。
ここで、MainMenu.xib を開き、[プレースホルダー] で [ファイルの所有者] を選択し、[ID インスペクター] で [カスタム クラス] > [クラス] を に設定しMainMenuController
ます。
ファイルの所有者を右クリックして、 と の間に接続を作成しwindow
ますWindow - Awesomesauce
。また、MainMenuController.h に
追加して、との間の接続を作成します。<NSApplicationDelegate>
Window - Awesomesauce delegate
File's Owner
この時点で、私の MainMenuController は次のようになります。
@implementation MainMenuController
- (id)initWithWindow:(NSWindow *)window
{
self = [super initWithWindow:window];
if (self) {
NSLog(@"Initializing MainMenuController");
}
return self;
}
- (void)windowDidLoad
{
[super windowDidLoad];
NSLog(@"Window did load");
}
- (void)windowWillLoad{
NSLog(@"Window will load");
}
@end
アプリケーションを実行すると、Awesomesauce ウィンドウが表示されますが、NSLog のログには何も記録されません。これには、init メソッドに NSLog が含まれます。
私は何を間違っていますか?