現在、「if」ステートメントを使用して一部のUIButtonを非表示または再表示するUISwitchがあります。スイッチのON/OFF状態とボタンの非表示状態は、NSUserDefaultsに保存されます。そのスイッチを設定バンドルに表示する方法を知りたいです。
.mの「if」ステートメントコードは次のとおりです。
- (IBAction)switchTheSwitch:(id)sender {
if (Languages.on) {
china.hidden = NO;
japan.hidden = NO;
french.hidden = NO;
spanish.hidden = NO;
}
else {
china.hidden = YES;
japan.hidden = YES;
french.hidden = YES;
spanish.hidden = YES;
}
[self buttonHidden:sender];
}
これが、スイッチの非表示状態を.mに保存する私のコードです。
- (void)buttonHidden:(id)sender {
NSUserDefaults *Defaults = [NSUserDefaults standardUserDefaults];
[Defaults setBool:china.hidden forKey:ChinaChanged];
[Defaults setBool:japan.hidden forKey:JapanChanged];
[Defaults setBool:french.hidden forKey:FrenchChanged];
[Defaults setBool:spanish.hidden forKey:SpanishChanged];
[Defaults synchronize];
}
そして、これがオン/オフ状態を.mに保存するための私のコードです:
- (IBAction)switchChangedValue:(id)sender {
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setBool:Languages.on forKey:SwitchChanged];
[userDefaults synchronize];
}
これが私の見解です。
- (void)viewDidLoad {
NSUserDefaults *Defaults = [NSUserDefaults standardUserDefaults];
china.hidden = [Defaults boolForKey:ChinaChanged];
japan.hidden = [Defaults boolForKey:JapanChanged];
french.hidden = [Defaults boolForKey:FrenchChanged];
spanish.hidden = [Defaults boolForKey:SpanishChanged];
[super viewDidLoad];
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
Languages.on = [userDefaults boolForKey:SwitchChanged];
}
設定バンドルのトグルスイッチをViewControllerのスイッチに置き換えるにはどうすればよいですか?