作者aureolus (Aureo)
看板MacDev
标题[问题] 请问NSSavePanel在关闭应用程式的问题
时间Wed May 18 09:51:37 2016
撰写对象平台是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://webptt.com/cn.aspx?n=bbs/MacDev/M.1463536299.A.853.html