【问题标题】:Saving NSDictionary with NSMutableArray as a value to NSUserDefaults将带有 NSMutableArray 的 NSDictionary 作为值保存到 NSUserDefaults
【发布时间】:2013-04-03 18:04:39
【问题描述】:

我将 UIImage 存储在 NSMutableArray 中,然后将 NSMutableArray 存储到 NSDictionary 中。 NSDictionary 的键是文件夹名称,NSDictionary 的值是 NSMutableArray。 现在我如何在 NSUserDefaults 中存储和检索 NSDictionary。

我做了如下:

NSMutableArray *imageArray=[[NSMutableArray alloc] init];
[imageArray addObject:selectedImage];


[allFolderWithImageDict setValue:imageArray forKey:@"UniqueFolderName"];

NSUserDefaults *defauktCenter = [NSUserDefaults standardUserDefaults];
[defauktCenter setValue:allFolderWithImageDict forKey:@"FolderImageDict"];
[defauktCenter synchronize];

但是 NSDictionary 没有保存在 NSUserDefaults 中。

请举个例子

谢谢

【问题讨论】:

标签: iphone ios ipad ios5


【解决方案1】:

要存储和检索自定义对象的值,您可以使用NSKeyedArchiverNSKeyedUnarchiver 类:

// To Save. . .
NSData *resData = [NSKeyedArchiver archivedDataWithRootObject:allFolderWithImageDict];
[[NSUserDefaults standardUserDefaults] setObject:resData forKey:@"FolderImageDict"];

// To Load. . .
NSData *respData = [[NSUserDefaults standardUserDefaults] objectForKey:@"FolderImageDict"];
resultDictionary = [NSKeyedUnarchiver unarchiveObjectWithData:respData];
NSLog(@"dict :: %@",resultDictionary);

祝你好运!!!

【讨论】:

【解决方案2】:
【解决方案3】:

不要使用 NSDictionary,而是使用 NSMutableDictionary.... :)

并检索存储在字典中的数据.....

  NSUserDefaults *d = [NSUserDefaults standardUserDefaults];

  NSString *loadname1 = [d objectForKey:@"FolderImageDict"];

  NSLog(@"%@", loadname1);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多