0

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

4

1 に答える 1

2

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

たとえばNSPopupButton、「Selected Value」バインディングを使用してデフォルトの「popupSelection」にバインドする場合は、「popupSelection」のエントリの1つをNSUserDefaults 常に返すようにする必要があります。NSPopupButton

これを実現するには、プロジェクトに「Defaults.plist」などのplistを含めます。これには、「popupSelection」に必要なデフォルト値(および他の設定に必要なデフォルト値)が含まれ、アプリケーションの起動時にこのplistをあなたのバンドル:

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

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

[[NSUserDefaults standardUserDefaults] registerDefaults:defaultsDict];

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

于 2012-01-16T21:46:55.553 に答える