2011-08-08 14 views
39

Macのメニューバーから実行するアプリケーションに終了ボタンを追加する必要があります。 プログラムでMacでアプリケーションを終了するにはどうすればよいですか?Macアプリケーションをプログラムで終了するにはどうすればよいですか?

[NSApp terminate:self]; 

しかし、あなたはボタンを追加しているとして、あなたがしなければならないすべては次のとおりです。

[NSApp terminate: nil]; 

答えて

73

コードから終了する単純な形式があります:

+0

コードでボタンを追加しますが、代わりのソリューションにも感謝します。 –

+0

ちょっと不思議なことに、この回答はどのIDEに関連していますか? – Mythics

+0

@TimWinterこんにちは! Xcode ;-) – sidyll

20
[[NSApplication sharedApplication] terminate:self]; 
+1

本との違いは、 '[何ですかNSApp terminate:self]; '? – 11684

+9

違いはありません。 'NSApp'は' [NSApplication sharedApplication] 'と同じです。 – omz

+0

うわー、それは速かった!ありがとう! – 11684

4

次試してみてくださいボタンからアプリケーションアイコンへのドラッグを制御し、メソッドterminate:を接続します。いくつかの場合には

enter image description here enter image description here

1

あなたが近いアプリができない場合、コール[NSApp terminate:self];。あなたは、次のコードのように、終了コールする前に、すべてのウィンドウとアラートを閉じることができ

...ドキュメントウィンドウ(NSAlert -beginSheetModalForWindow:completionHandler:)上のシートとしてNSAlertを示すときのように:

for (NSWindow *window in [NSApplication sharedApplication].windows) { 
    [window close]; 
} 
[NSApp terminate:self]; 
+1

'NSApplication'の' windows'プロパティはNSWindowインスタンスとして返されますか? – vadian

+0

@vadianああ、あなたは正しいウィンドウはNSWindowを返すだけです。コードを編集します – larva

関連する問題