Swift

Swift:ファイルのopen/closeとアプリの再開

ちょっとした応用問題に遭遇しました。

以前書いたように、アプリをクローズしたあと、アイコンをクリックすると、クローズする前の状態のwindowが開くようにしていました。これはこれで便利です。

func applicationShouldHandleReopen(sender: NSApplication, hasVisibleWindows flag: Bool) -> Bool {
 if flag == false && sender.windows.count > 0 { sender.windows[0].makeKeyAndOrderFront(self) }
return true  

ところが、これだとファイルを閉じてもwidowに残ったまま、つまりcloseできません。どうしたものかと考えたのですが、結局、これを取り除き、File➡️Closeに次のIBActionメソッドを接続したら、うまく行きました。

@IBAction func performClose(sender: AnyObject?) {
xbOutWindow.close()   
}

やりたかったことは、Openでファイルを開け/windowを開く。逆に、Closeでファイルを閉じ、windowを閉じる。ただし、アプリはterminateさせない。func applicationShouldHandleReopenを残したままで、openフラグとか作っていろいろやってみたのですが、落ちまくるのでこの修正版はgive upし、上記の方法に変更しました。やれやれ。

Categories: Swift, 技術