0

単一ウィンドウの 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.hAppDelegate.mありますMainMenu.xib(サポート ファイル フォルダーには、考える必要がないと思われるものもあります)。

NSWindowController接続できるファイルが必要MainMenu.xibです。新しいファイルを作成し (Objective-c Class > NSWindowController)、名前を付けますMainMenuController

ここで、MainMenu.xib を開き、[プレースホルダー] で [ファイルの所有者] を選択し、[ID インスペクター] で [カスタム クラス] > [クラス] を に設定しMainMenuControllerます。

ファイルの所有者を右クリックして、 と の間に接続を作成しwindowますWindow - Awesomesauce。また、MainMenuController.h に
追加して、との間の接続を作成します。<NSApplicationDelegate>Window - Awesomesauce delegateFile'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 が含まれます。

私は何を間違っていますか?

4

0 に答える 0