Iphone 我们可以更新存储在NSUserDefault中的数组吗
我将值存储在一个数组中,并将该数组存储在Iphone 我们可以更新存储在NSUserDefault中的数组吗,iphone,ios,nsuserdefaults,Iphone,Ios,Nsuserdefaults,我将值存储在一个数组中,并将该数组存储在NSUserDefault中,然后我需要更新该数组才能这样做。如果那么如何?NSUserDefaults与NSDictionary一样,因此您可以通过将另一个对象设置为键值-setObject:forKey:来使用更新字典的相同方法 例如,当您尝试下面的代码时 NSUserDefaults *usr=[NSUserDefaults standardUserDefaults]; NSArray *arr= [NSArray arrayWithObjects:
NSUserDefault
中,然后我需要更新该数组才能这样做。如果那么如何?NSUserDefaults
与NSDictionary
一样,因此您可以通过将另一个对象设置为键值-setObject:forKey:
来使用更新字典的相同方法
例如,当您尝试下面的代码时
NSUserDefaults *usr=[NSUserDefaults standardUserDefaults];
NSArray *arr= [NSArray arrayWithObjects:[NSNumber numberWithInt:1],[NSNumber numberWithInt:2], nil];
[usr setObject:arr forKey:@"num"];
NSLog(@"usr %@",[usr arrayForKey:@"num"]);
NSUserDefaults *usr1=[NSUserDefaults standardUserDefaults];
NSArray *arr= [NSArray arrayWithObjects:[NSNumber numberWithInt:2],[NSNumber
numberWithInt:3], nil];
[usr setObject:arr forKey:@"num"];
NSLog(@"user1 %@",[usr1 arrayForKey:@"num"]);
你会得到
usr(
1.
2.
)
usr1(
2.
3.
)
在控制台中。只需将数组重新存储在用户默认值中,然后调用
同步
例如:
存储您的阵列
NSMutableArray *yourArray = .... // whatever you did to create your data
// store your data in the NSUserDefaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:yourArray forKey:@"myArray"];
[defaults synchronize];
。。。然后在你的应用程序中的某个其他时间更新它
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
// retrieve your data from the NSUserDefaults
NSMutableArray *yourArray = [defaults objectForKey:@"myArray"];
// edit the data, for example add some object.
[yourArray addObject:someNewObject];
// update the defaults
[defaults setObject:yourArray forKey:@"myArray"];
[defaults synchronize];
首先检索当前数据
NSArray *tempNew = [[NSArray alloc]init];
tempNew = [storeData objectForKey:@"accounts"];
[tempArr addObjectsFromArray:tempNew];
更新:
[tempArr addObject:str];
[storeData setObject:tempArr forKey:@"accounts"];
这是一个可以为你提供帮助的链接..从这个链接上看到我的答案。。可能对你有帮助。。NSArray没有方法-addObject。所以它应该是NSMutableArray*yourMutableArray=[NSMutableArray arrayWithArray:yourArray];事实上,我修正了这个例子:)