我有一个 UISwitch,除其他外,女巫禁用了 UITextfield。使用 NSUserDefaults 时,我管理开关以记住其当前状态(开/关)
NSString *const MyPrefKey =@"MyPrefKey";
[[NSUserDefaults standardUserDefaults]
setBool:[sender isOn]
forKey:MyPrefKey];
开关状态在 viewDidLoad 中被调用
BOOL switchState =[[NSUserDefaults standardUserDefaults]boolForKey:MyPrefKey];
[mySwitch setOn:switchState];
这很完美,记住了 UISwitch 的位置。
用于在开关更改时启用文本字段
我按照建议尝试了:
[[NSUserDefaults standardUserDefaults]
setObject:[NSNumber numberWithBool:[myTextField isEnabled]]
forKey:MyPrefKey];
并回忆起
BOOL mtf =[[NSUserDefaults standardUserDefaults]boolForKey:MyPrefKey];
[myTextField setEnabled:mtf];
这也很好用。但是,当时只有其中一项有效。如何同时设置更多默认值?我必须制作几个 PrefKeys 吗?或者它们都可以存储在同一个prefKey中吗?
最后我尝试使用 NSUserDefaults 更改 textcolor
[[NSUserDefaults standardUserDefaults]
setObject: [myTextField textColor]
forKey: MyPrefKey];
召回时会导致崩溃
UIColor*newColor= [[NSUserDefaults standardUserDefaults] objectForKey: EfloraSharePrefKey];
[myTextField setTextColor:newColor];
那么如何将 NSUserDefault 与 textColor 一起使用?我会应用任何好的解决方案。