[英]How to get exact data from NSUserDefaults in Objective C,iOS?
我有NSMutableArray,我试图将该数组保存在NSUserDefaults中。这是我的代码:
保存:
NSUserDefaults *currentDefaults = [NSUserDefaults standardUserDefaults];
[currentDefaults setObject:[NSKeyedArchiver archivedDataWithRootObject:userSession.transactionArray] forKey:@"TransId"];
[currentDefaults synchronize];
检索:
NSUserDefaults *currentDefault = [NSUserDefaults standardUserDefaults];
NSData *dataRepresentingSavedArray = [currentDefault objectForKey:@"TransId"];
NSMutableArray *oldSavedArray = [NSKeyedUnarchiver unarchiveObjectWithData:dataRepresentingSavedArray];
userSession.transactionArray = [NSArray arrayWithArray:oldSavedArray];
但是,我正在日志中获取阵列,
"<NSIndexPath: 0x160f8640> {length = 2, path = 0 - 0}",
"<NSIndexPath: 0x1602bd70> {length = 2, path = 0 - 1}",
"<NSIndexPath: 0x16026900> {length = 2, path = 0 - 2}",
"<NSIndexPath: 0x14f01dd0> {length = 2, path = 0 - 3}"
如何从中获取实际数据。有人可以帮助我正确获取此值吗? 提前致谢。
NSArray *aviArray=[[NSArray alloc] initWithObjects:@"A",@"B",@"C", nil];
[[NSUserDefaults standardUserDefaults] setObject:aviArray forKey:@"Arraykey"];
[[NSUserDefaults standardUserDefaults] synchronize];
NSLog(@"%@",[[[NSUserDefaults standardUserDefaults] objectForKey:@"Arraykey"] objectAtIndex:0]);
NSLog(@"%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"Arraykey"]);
这类似于: NSKeyedArchiver archivedDataWithRootObject:
您缺少initWithCoder:和encodeWithCoder:的实现。 答案之一描述了如何编写这些内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.