Това трябва да запази стойността на два UISwitches в NSUserDefaults и след това да настрои превключвателите при зареждане въз основа на стойностите, записани в настройките по подразбиране. Занимавам се с това от часове, но не мога да го накарам да работи. Всяка помощ ще бъде високо оценена.
Превключвателите са в изглед, който използвам за настройки. Има само два превключвателя, така че искам да използвам NSUserDefaults. Превключва по подразбиране на ИЗКЛ. Искам да превключа на ON и тази промяна да бъде запазена, за да мога да променя потребителското изживяване въз основа на стойността на превключвателя. След това, когато потребителят отвори отново настройките, искам те да показват текущото си запазено състояние.
Мисля, че стойността се запазва, но не се прилага към превключвателите, когато вляза отново в изгледа с настройки.
- (IBAction)setBeadVibratorBySwitchState:(id)sender
{
if (setBeadVibrator.selected == YES) {
NSUserDefaults *beadSettings = [NSUserDefaults standardUserDefaults];
[beadSettings setBool:NO forKey:@"beadSwitchStatus"];
[beadSettings synchronize];
}
if (setBeadVibrator.selected == NO) {
NSUserDefaults *beadSettings = [NSUserDefaults standardUserDefaults];
[beadSettings setBool:YES forKey:@"beadSwitchStatus"];
[beadSettings synchronize];
}
NSLog(@"Bead Executed");
}
- (IBAction)setDecadeVibratorBySwitchState:(id)sender
{
if (setDecadeVibrator.selected == YES) {
NSUserDefaults *decadeSettings = [NSUserDefaults standardUserDefaults];
[decadeSettings setBool:NO forKey:@"decadeSwitchStatus"];
[decadeSettings synchronize];
}
if (setDecadeVibrator.selected == NO){
NSUserDefaults *decadeSettings = [NSUserDefaults standardUserDefaults];
[decadeSettings setBool:YES forKey:@"decadeSwitchStatus"];
[decadeSettings synchronize];
}
NSLog(@"Decade Executed");
}
- (void)viewDidLoad
{
[super viewDidLoad];
setBeadVibrator.selected = [[NSUserDefaults standardUserDefaults] boolForKey:@"beadSwitchStatus"];
setDecadeVibrator.selected = [[NSUserDefaults standardUserDefaults] boolForKey:@"decadeSwitchStatus"];
}
viewWillAppear
отviewDidLoad
? - person Sergey Kalinichenko   schedule 30.07.2012