2016-11-13 73 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 –