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成功插入值值转到NSUSerDefault,但是下次通过delegate.strfor key under添加新值时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

您不能在 NSUserDefaults 的单个键中分配两个值,您必须"KEY"为每个值取另一个值。您可以使用以下代码替换以前的值:

只需尝试以下代码:

[[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 回答
0

您不能为同一个键保存两个对象。
InNSUserDefaultsNSDictionary键将是唯一的(特定键只能有一个对象)。

如果您需要这样做,您可以将值存储在NSMutableArrayor中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 回答