2016-11-13 68 views
0

Objective-C中的我的Cocoa应用程序有两个包含帮助器功能的窗口A和B.用户可能并不总是希望这些窗口打开(请考虑GIMP中的画笔大小或色轮)。我希望应用程序记住每个窗口在程序的每个实例之间是打开还是关闭。例如:在Cocoa中记住窗口打开/关闭

  1. 用户打开该程序,并在Windows A和B都是开放

  2. 用户关闭窗口A,但不橱窗内

  3. 用户关闭该程序

  4. 用户打开程序

  5. 只有窗口B打开,窗口A关闭

  6. 用户打开窗口中的

  7. 用户关闭

  8. 用户打开程序

  9. 两个窗口B和A打开

是有办法的程序要记住可可这种历史类型? Google在这次搜索中并不是我的朋友。

+0

您应该检查这个答案:http://stackoverflow.com/questions/12779681/nswindow-restorable-not-always-working – jvarela

回答

0

您可以使用NSUserDefaults来达到此目的。这是基于键值的数据结构,这是在午餐之间保存的。

在您的例子,你可以做这样的事情:

[[NSUserDefaults standardUserDefaults] setBool:aPresentedFlag forKey:@"aPresented"]; 

if ([[NSUserDefaults standardUserDefaults] [email protected]"aPresented"]) { 
//show your aWindow 
} 
+0

工作太棒了,谢谢@VladHatko –