我一直在到处寻找这个,但找不到它,它真的让我很烦。我不知道如何保存 NSPopUpButton 的当前状态,因此如果用户更改它,应用程序将在下次运行应用程序时加载该状态。我已经尝试过 NSUserDefaults 并且它只是在弹出按钮中添加了一个新项目,该按钮的名称非常奇怪。
问问题
769 次
1 回答
2
听起来您未能为用户默认设置初始值。
例如,如果您将NSPopupButton
使用“选定值”绑定绑定到默认“popupSelection”,那么您必须确保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
当用户更改选择时绑定将保持该值正确。
于 2012-01-16T21:46:55.553 回答