UISwitch对价值变化采取行动 - iphone sdk

Mit*_*hun 1 iphone nsmutablearray uiswitch

我有一个UISwitch,我需要在将开关状态更改为OFF到ON时将字符串中的值加载到数组中.我使用了以下代码,但没有工作.

-(IBAction)toggleSwitch1:(id)sender {
    if (addSwitch.on) {
        [addSwitch addTarget:self action:@selector(addName:) forControlEvents:UIControlEventValueChanged];
        NSLog(@"%@",userName);
    }else {
        NSLog(@"No");
    }
}

-(void)addName:(UIControl*)sender {
    [alertList addObject:userName];
    NSLog(@"AlertList: %@", alertList);
}
Run Code Online (Sandbox Code Playgroud)

如果状态变为ON,如果我重新加载页面,我怎么能保持相同的状态呢?

请分享你的想法.谢谢

use*_*rar 5

viewDidLoad使用这一个:

-(void)viewDidLoad 
{
    [super viewDidLoad];    
    NSUserDefaults *userdefault=[NSUserDefaults standardUserDefaults];
    if([userdefault boolForKey:@"yes"]) {
        addSwitch.on=YES;
    } else {
        addSwitch.on=NO;
    }
}

-(IBAction)toggleSwitch1:(id)sender 
{
    NSUserDefaults *userdefault=[NSUserDefaults standardUserDefaults];
    if (addSwitch.on) {
        [self performSelector:@selector(addName:) withObject:userName];
        NSLog(@"%@",userName);
        [userdefault setBool:YES forKey:@"yes"];
    } else {
        [userdefault setBool:NO forKey:@"no"];
        NSLog(@"No");
    }
}

-(void)addName:(UIControl*)sender 
{
    [alertList addObject:sender];
    NSLog(@"AlertList: %@", alertList);
}
Run Code Online (Sandbox Code Playgroud)