[問題] 請問NSSavePanel在關閉應用程式的問題
撰寫對象平台是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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章