-4

在这里,我有一些通过使用委托获得NSString( ) 的代码。passedValue1获得值后,我会显示并将值保存到标签中。但是,一旦我从 中获得另一个值passedValue1,我想将我拥有的新值添加到以前保存的值中。

有人可以帮忙吗??

- (void)viewDidLoad
{ 
    if(passedValue1){
        label.text = passedValue1;

        NSUserDefaults *defults = [NSUserDefaults standardUserDefaults];
        [defults setObject:label.text forKey:@"labelkey"];
        [defults synchronize];
    }
    label.text = [[NSUserDefaults standardUserDefaults]objectForKey:@"labelkey"];
}

提前致谢。

4

1 回答 1

0

更新:事实证明,实际上新旧值应该是数字,并且应该将这些值相加。这是一个更新的答案:

如果你想将新值添加到旧值中,那么这样的事情应该做你想做的事情(假设passedValue1是一个int):

- (void)viewDidLoad { 
    static NSString *key = @"labelKey";

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    if (passedValue1) {
        int oldValue = [defaults integerForKey:key];
        int newValue = oldValue + passedValue1;

        [defaults setInteger:newValue forKey:key];
        [defaults synchronize];
    }

    label.text = [NSString stringWithFormat:@"%d", [defaults objectForKey:key]];
}
于 2013-03-31T14:34:04.897 回答