私は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];
これもうまくいきました。ただし、一度に機能するのはこれらの1つだけです。同時に設定するデフォルトを増やすにはどうすればよいですか?複数のPrefKeyを作成する必要がありますか?または、それらすべてを同じprefKeyに保存できますか?
最後に、NSUserDefaultsを使用してテキストの色を変更しようとしました
[[NSUserDefaults standardUserDefaults]
setObject: [myTextField textColor]
forKey: MyPrefKey];
でリコールするとクラッシュが発生します
UIColor*newColor= [[NSUserDefaults standardUserDefaults] objectForKey: EfloraSharePrefKey];
[myTextField setTextColor:newColor];
では、textColorでNSUserDefaultを使用するにはどうすればよいですか?私はどんな良い解決策にも感謝します。