ios - 如何在 NSUserDefaults 中存储多个字典

标签 ios objective-c nsdictionary nsuserdefaults

我在 FirstVC 中有两个 Viewcontroller,我构建了 5 个 UITextField 用于注册,这个 TextField 值在字典中存储,最后字典存储在 NSUserdefault 中,然后在 SecondVC 中我想显示这个数据 我的问题是,每次我在 NSUserdefault 中添加新的自由裁量权时,旧的字典被替换 我想要所有字典的数据。

下面是我的FirstVC的代码

  -(void)btnReg

{ 
//data add in disctionary
    for (int i=1; i<=5; i++)
    {
        UITextField *txtTemp=(UITextField *)[self.view viewWithTag:i];
        [discRege setObject:[NSNumber numberWithInt:count] forKey:@"no"];
        [discRege setObject:txtTemp.text forKey:[arraylblName objectAtIndex:i-1]];
    }
//dictionary add in nsuserdefault

    [[NSUserDefaults standardUserDefaults]setObject:discRege forKey:@"ABC"];
     [[NSUserDefaults standardUserDefaults]synchronize];

//push to SecondVc
    secondViewController *objSec=[[secondViewController alloc]init];
    [self.navigationController pushViewController:objSec animated:YES];
    [self.navigationController setNavigationBarHidden:false];

}

下面是我的SecondVC的代码

ArratTemp  =[[NSUserDefaults standardUserDefaults]objectForKey:@"ABC"] ;
    if (!ArratTemp )
    {
        ArratTemp =[[NSMutableArray alloc]init];
    }
    else
    {
        ArratTemp = [[[NSUserDefaults standardUserDefaults]objectForKey:@"ABC"]mutableCopy];
    }
    NSLog(@"%@",ArratTemp);

最佳答案

每次您使用相同的键并替换现有的字典对象时...

// Using the same key will overwrite the last saved dictionary.
[[NSUserDefaults standardUserDefaults] setObject:discRege forKey:@"ABC"];

与其将其存储为字典,不如将其存储为字典数组。每当您添加新注册时,获取保存的数组,将新的字典对象添加到其中并使用该数组更新 userDefaults。

mutableArray = [[[NSUserDefaults standardUserDefaults]objectForKey:@"ABC"] mutableCopy];
[mutableArray addObject:discReg];
[[NSUserDefaults standardUserDefaults] setObject:mutableArraay forKey:@"ABC"];
[[NSUserDefaults standardUserDefaults] synchronize];

希望对您有所帮助。

关于ios - 如何在 NSUserDefaults 中存储多个字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37566575/

相关文章:

ios - 使用带有动态类型标签的自动布局的动态 UITableView 单元格高度

objective-c - 为什么 Objective-C 允许成功调用空对象?

ios - 在 xCode 中解析嵌套的 NSDictionary 和 NSArray 数据

ios - 为什么 API 拒绝我的 JSON?

ios - Admob非页内广告Cocos2d objective-c

objective-c - UIBarButtonItem 图像(或 UIToolbar 自定义背景图像?..)比原始图像更暗(或更亮?..)

objective-c - 当数据可用时从 NSTask Pipe 中读取数据

c++ - 在具有可变参数的方法中转换警告

ios - 将快速闭包传递给以 block 作为参数的 Objective-C 函数

iOS UITableViewAutomaticDimension RowHeight 性能不佳/跳跃