0

このコードを使用して、ウィンドウ コントローラー ウィンドウをモーダル ビューで表示しました。ウィンドウ内のボタンのウィンドウコントローラーにアクションがあります。ボタンをクリックすると、アプリがクラッシュし、エラーメッセージは表示されません。デリゲートの設定が間違っていますか?

[[NSApplication sharedApplication] beginSheet:windowObj.window modalForWindow:self.view.window modalDelegate:windowObj didEndSelector:nil contextInfo:nil];
4

1 に答える 1

1

windowObjシートがウィンドウを表示できるようになる前に、(ARC を使用している場合はおそらく ARC によって) 割り当てが解除されています。これに使用しているクラスに強力なプロパティを追加し、windowObj を次のように設定する必要があります。

@property (strong) MyWindowController *windowObj;
...
// Instantiate the window controller
self.windowObj = [[windowController alloc] initWithWindowNibName:@"windowController"];
[[NSApplication sharedApplication] beginSheet:windowObj.window modalForWindow:self.view.window modalDelegate:windowObj didEndSelector:nil contextInfo:nil]; 
于 2014-07-16T07:27:14.883 に答える