0

アプリに UISwitch があり、同じ機能を持つ設定バンドルに UISwitch があります。ただし、アプリの UISwitch は設定を適切に保存していません。誰でもコードに問題があることがわかりますか?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Set the application defaults
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    NSDictionary *appDefaults = [NSDictionary dictionaryWithObject:@"No" forKey:@"isKgs"];
    [defaults registerDefaults:appDefaults];
    [defaults synchronize];
}

- (void)switchChanged
{
    [[NSUserDefaults standardUserDefaults] setBool:unitSwitch.selected forKey:@"isKgs"];
    [[NSUserDefaults standardUserDefaults] synchronize];
    NSLog(@"SwitchGhanged:");
}

-(void)cellForRowAtIndexPath
{
    [unitSwitch addTarget:self action:@selector(switchChanged) forControlEvents:UIControlEventValueChanged];           
    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"isKgs"]) 
    {
       [unitSwitch setOn:YES animated:NO];
    }
}

そして、ここに設定バンドルがあります ここに画像の説明を入力

4

2 に答える 2

0

onUISwitch で使用してみてください:

[[NSUserDefaults standardUserDefaults] setBool:unitSwitch.on forKey:@"isKgs"];

編集: unitSwitch.on は既に BOOLEAN であるため、テストする必要はありません。直接割り当てることができます。

于 2011-06-25T20:40:16.383 に答える
0
[[NSUserDefaults standardUserDefaults] setBool:unitSwitch.on forKey:@"isKgs"];

onプロパティを使用して設定します。

于 2011-06-25T20:40:26.920 に答える