2013-07-25 57 views
0

我想將另一個對象添加到NSUserDefault中的現有密鑰。將對象添加到NSuserDefault中的現有密鑰

我試試這個代碼加入NSUserDefault

delegate.str=[first objectAtIndex:delegate.selectId]; 
NSLog(@"%@",delegate.str); 
delegate.str1=[details1 objectAtIndex:delegate.selectId]; 
NSLog(@"%@",delegate.str1);  
[delegate.BookMarkDefault setObject:delegate.str forKey:@"Name"]; 

// BookMarkDefault這是NSUSERDefault。

首先,我將插入delegate.str值值成功進入NSUSerDefault;但如果通過delegate.str關鍵Name下下一次增加新的值將取代先前的值。我想在同一個Key下添加新的值。

回答

2

這是不可能的如果你想滿足這種要求,然後嘗試使用數組,然後將該數組放入NSUSerDefault ...

嘗試此代碼

delegate.str=[first objectAtIndex:delegate.selectId]; 
NSLog(@"%@",delegate.str); 
delegate.str1=[details1 objectAtIndex:delegate.selectId]; 

NSLog(@"%@",delegate.str1); 
[yourarray addObject:delegate.str]; 

NSLog(@"%@",delegate.Bookmarknamearray); 
[delegate.BookMarkDefault setObject:youarray forKey:@"Name"]; 
當用戶想增加新的價值UNS =明鏡名稱鍵它將取代舊...價值
0

您不能在NSUserDefaults的單個鍵中分配兩個值,您必須爲每個值再採用一個"KEY"

[[NSUserDefaults standardUserDefaults] setObject: delegate.str forKey:@"Name"]; 

EDITE:

但是你可以在NSUserDefaults的添加陣列,諸如此類

self.golbalArr = [[NSMutableArray alloc]initWithObject:@"1", @"2",....,nil]; 
[[NSUserDefaults standardUserDefaults] setObject: self.golbalArr forKey:@"Name"]; 
+1

... – Vasu

1

沒有

只需用下面的代碼試試:您可以通過下面的代碼替換透水值無法將多個值分配給相同的密鑰。如果你想使用多個值到同一個鍵然後使用數組或字典,並將它們分配給鍵。

例:

[[NSUserDefaults standardUserDefaults] setObject:YOUR_ARRAY forKey:@"Name"]; 

希望它可以幫助你。

+0

K I會嘗試這一個,讓你知道.. – Vasu

0

無法爲同一個鍵保存兩個對象。
NSUserDefaultsNSDictionary鍵將是唯一的(對於特定鍵,只能有一個對象)。

如果你需要做到這一點,你可以存儲的值NSMutableArrayNSDictionary,並添加到NSUserDefaults的,如:

[[NSUserDefaults standardUserDefaults] setObject:dataArray forKey:@"Name"]; 
+0

您已經給出了相同的答案我的。 –

0

可能會有所幫助

[[NSUserDefaults standardUserDefaults] setObject: delegate.str forKey:@"Name"]; 
相關問題