记得在Cocoa打开/关闭窗口

时间:2016-11-13 15:34:04

标签: objective-c macos cocoa

Objective-c中的My Cocoa应用程序有两个窗口,A和B,包含辅助功能。用户可能并不总是希望打开这些窗口(想想Gimp中的画笔大小或色轮)。我希望应用程序记住每个窗口是否在程序的每个实例化之间打开或关闭。例如:

  1. 用户打开程序,Windows A和B都打开

  2. 用户关闭窗口A但不关闭窗口B

  3. 用户关闭程序

  4. 用户打开程序

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

  6. 用户打开窗口A

  7. 用户关闭程序

  8. 用户打开程序

  9. Windows B和A都已打开

  10. 有没有办法在Cocoa中记住这种类型的历史?谷歌在这次搜索中并不是我的朋友。

1 个答案:

答案 0 :(得分:0)

您可以将NSUserDefaults用于此目的。它是基于键值的数据结构,可以在午餐之间保存。

在您的示例中,您可以执行以下操作:

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

if ([[NSUserDefaults standardUserDefaults] boolForKey@"aPresented"]) {
//show your aWindow
}