サーバーとやり取りして GUI を表示する Cocoa アプリがあります。致命的なエラーが発生した場合は、アラートを表示して終了します。他の UNIX ベースのツールとの対話を容易にするために、エラーが発生したことを反映するために終了ステータスをゼロ以外の値に設定したいと考えています。
残念ながら、これを行う良い方法を見つけることができませんでした.NSApplicationには終了ステータスを設定する方法がないようです. 現時点では、NSApplication をサブクラス化し、ivar exitStatus
(必要に応じてアプリのデリゲートに設定) を追加し、オーバーライド-terminate:
してexit(exitStatus)
. terminate:
これは問題なく動作しますが、標準が舞台裏で行っている重要な何かを見落としている可能性があることは言うまでもなく、少し汚れているように思えます。ステータスを設定する機会がない[super terminate:sender]
ため、サブクラス化されたメソッドを呼び出すことはできません。exit()
明らかな何かが欠けていますか?