2013-03-31 59 views
-4

在這裏,我有一些代碼通過使用委託獲取NSStringpassedValue1)。一旦我有我顯示的值,並將其值保存到標籤中。但是,一旦我從passedValue1獲得了另一個值,我想將新值添加到先前保存的值中。objective - C:添加到以前的NSUserDefaults

任何人都可以幫忙嗎?

- (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"]; 
} 

在此先感謝。

+0

當你說「添加「,你的意思是你想要一個保存的值的列表,或者你想追加新的字符串到舊的字符串的末尾? – rmaddy

+0

你的問題沒有闡述你想要做什麼。請讓你的問題清楚,以便人們能夠理解你的問題並回答它。 –

+0

@maddy附加過程我的意思是 –

回答

0

更新:事實證明,舊的和新的值應該是數字,並且值應該加在一起。下面是一個更新的答案:

如果您希望將新值添加到舊值,則這樣的事情應該做你想做的(假設passedValue1int):

- (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]]; 
} 
+0

謝謝,但不是顯示這兩個值,我只是想顯示他們作爲一個加在一起 –

+0

當我問,你說你想附加值。這些值實際上是你想要加在一起的數字嗎?如果它們是數字,爲什麼使用'NSString'而不是'int'或其他數字數據類型? – rmaddy

+0

該值是一個NSString –

相關問題