2012-01-16 71 views
0

我一直在尋找這個,並沒有能夠找到它,它真的讓我煩惱。我無法弄清楚如何保存NSPopUpButton的當前狀態,因此如果用戶更改它,應用程序會在下次運行應用程序時加載該狀態。我已經嘗試NSUserDefaults,它只是添加一個新的項目到彈出按鈕,有一個非常奇怪的名字。如何保存NSPopUpButton的狀態? - 可可

+2

請顯示您當前使用的代碼來存儲狀態 – v1Axvw 2012-01-16 21:22:59

回答

2

聽起來好像你沒有爲用戶默認設置初始值。

例如,如果您使用「選定值」綁定到一個默認的「popupSelection」綁定你NSPopupButton,那麼你必須確保NSUserDefaults總是返回NSPopupButton的條目‘popupSelection’之一。

通過在項目中包含一個plist,例如「Defaults.plist」,它包含您希望用於「popupSelection」的默認值(以及您希望用於其他首選項的默認值),然後在應用程序啓動從包中加載此的plist:

NSString *defaultsPath = [[NSBundle mainBundle] pathForResource:@"Defaults" ofType:@"plist"]; 
NSDictionary *defaultsDict = [NSDictionary dictionaryWithContentsOfFile:defaultsPath]]; 

NSUserDefaults註冊這些爲您的默認值:

[[NSUserDefaults standardUserDefaults] registerDefaults:defaultsDict]; 

現在您的彈出按鈕,將正確的值開始,並且綁定將保持價值NSUserDefaults正確的用戶改變選擇。

+0

謝謝,這個工作很好,我找不到它在任何地方。我猜想得到一個帳戶,並問是真的值得。 – drewsdunne 2012-01-17 02:49:38