[問題] 請問NSSavePanel在關閉應用程式的問題

看板MacDev作者 (Aureo)時間9年前 (2016/05/18 09:51), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
撰寫對象平台是OSX,假設寫的是一個文字編輯程式 請問如何實現當我變更文字編輯區塊內容後不儲存內容點擊左上角X離開時 會跳出NSSavePanel來提醒我是否要儲存內容選擇儲存位置然後再將程式關閉? 原先是放在 - (void)applicationWillTerminate:(NSNotification *)aNotification { NSInteger choice = NSRunAlertPanel(@"Something change", @"Do you want to save?", @"Exit",@"Save",nil); if (choice == 0 ) { //my save code here NSSavePanel *panel = [NSSavePanel savePanel]; .... } } 但是這樣會發生所有程式窗口已經關閉才跳出NSRunAlertPanel 來選擇要不要執行NSSavePanel 這樣會造成無法彈出選擇儲存路徑的窗口(因為主要window已經被提前關閉) 預期狀況是所有窗口不關閉的情況下跳出NSRunAlertPanel給使用者選擇執行 試了很多種方法例如- (BOOL)windowShouldClose:(id)window等等 不過僅有applicationWillTerminate可以work其他function都不會有反應... 想請問有沒有解決這個問題的方法,謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.134.2 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1463536299.A.853.html
文章代碼(AID): #1NEyghXJ (MacDev)
文章代碼(AID): #1NEyghXJ (MacDev)