あ、あともう1点
[NSApp runForModal:modalWindow]
[mainWindow close] or [mainWindow orderOut:nil];
みたいにモーダルダイアログを表示して、それが閉じられたらメインのウィンドウを閉じる。
メインウィンドウは最後の1枚になるウィンドウで閉じられるとアプリ終了する。

このようにしてるんだけど、画面にclose呼んだ後もウィンドウが残ってしまう。
ウィンドウをクリックすると消える。その後、アプリも終了する。
イベントループと絡んでるのかな。
perfomSelector afterDelay使ってcloseしてもダメ・・・解決方法がわからない。