0

の既存のキーに別のオブジェクトを追加したい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します value は に正常に移動しますNSUSerDefaultが、次回delegate.strはキーの下に新しい値を追加Nameすると、前の値が置き換えられます。同じキーの下に新しい値を追加したい。

4

5 に答える 5

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"];
于 2013-07-25T05:04:33.553 に答える
1

いいえ、同じキーに複数の値を割り当てることはできません。複数の値を同じキーに使用する場合は、配列または辞書を使用してそれらをキーに割り当てます。

元 :

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

お役に立てば幸いです。

于 2013-07-25T04:52:33.433 に答える
0

同じキーに対して 2 つのオブジェクトを保存することはできません。
キーは一意にNSUserDefaultsなりNSDictionaryます (特定のキーに対してオブジェクトは 1 つしか存在できません)。

これを行う必要がある場合は、値をNSMutableArrayまたはに保存して、次NSDictionaryのように NSUserDefaults に追加できます。

[[NSUserDefaults standardUserDefaults] setObject:dataArray forKey:@"Name"];
于 2013-07-25T04:52:50.613 に答える
0

役に立つかもしれません

[[NSUserDefaults standardUserDefaults] setObject: delegate.str forKey:@"Name"];
于 2013-07-25T04:54:09.847 に答える
0

"KEY"NSUserDefaults の 1 つのキーに 2 つの値を割り当てることはできません。値ごとに別の値を取得する必要があります。次のコードを使用して、以前の値を置き換えることができます。

次のコードで試してみてください:

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

編集:

ただし、NSUserDefaults などに配列を追加できます

self.golbalArr = [[NSMutableArray alloc]initWithObject:@"1", @"2",....,nil];
[[NSUserDefaults standardUserDefaults] setObject: self.golbalArr forKey:@"Name"];
于 2013-07-25T04:50:31.580 に答える