質問

私はこれをどこでも探していて、それを見つけることができず、それは本当に私を悩ませています。 NSPopupButtonの現在の状態を保存する方法がわからないため、ユーザーがそれを変更すると、アプリが次にアプリを実行するときにその状態をロードします。私はnsuserdefaultsを試しましたが、本当に奇妙な名前のポップアップボタンに新しいアイテムを追加しました。

役に立ちましたか?

解決

ユーザーのデフォルトの初期値を設定できなかったようです。

たとえば、バインドする場合 NSPopupButton デフォルトの「PopUpSelection」への「選択された値」バインディングを使用すると、それを保証する必要があります NSUserDefaults いつも の1つを返します NSPopupButton「PopUpSelection」のエントリ。

プロジェクトにプリストを含めることでこれを達成します。「defaults.plist」と言います。「popupselection」(および他の設定に希望するデフォルト値)を希望するデフォルト値を含み、アプリケーションスタートアップではからです。あなたのバンドル:

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

これらをデフォルトとして登録します NSUserDefaults:

[[NSUserDefaults standardUserDefaults] registerDefaults:defaultsDict];

これで、ポップアップボタンは正しい値から始まり、バインディングは値をに保ちます NSUserDefaults ユーザーが選択を変更したら修正します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top