如何改变NSdictionary中的值?

cat*_*nya -3 objective-c nsdictionary ios

如何在"1-2级开放"中更改"1-2级关闭"值?我必须删除它并添加新值?或者只是覆盖?我该怎么做?

谢谢

   NSDictionary *dict = [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"key_open_levels"];

         dict  = [NSDictionary dictionaryWithObjectsAndKeys:
                    @"open", @"level 1-1",
                    @"closed", @"level 1-2",
                    @"closed", @"level 1-3",
                    @"closed", @"level 1-4",
                    @"closed", @"level 1-5",
                    @"closed", @"level 1-6",
                    @"closed", @"level 1-7",
                    @"closed", @"level 1-8",
                    @"closed", @"level 1-9",
                    @"closed", @"level 1-10", nil];

           // NSString *customerDict ;
            [[NSUserDefaults standardUserDefaults] setValue:dict forKey:@"key_open_levels"];


           if ([[dict valueForKey:@"level 1-2"] isEqualToString:@"closed" ]){

           //what should I write here?

           }else{

}
Run Code Online (Sandbox Code Playgroud)

Man*_*ani 8

试试以下代码..

 NSMutableDictionary *dict  = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                        @"open", @"level 1-1",
                        @"closed", @"level 1-2",
                        @"closed", @"level 1-3",
                        @"closed", @"level 1-4",
                        @"closed", @"level 1-5",
                        @"closed", @"level 1-6",
                        @"closed", @"level 1-7",
                        @"closed", @"level 1-8",
                        @"closed", @"level 1-9",
                        @"closed", @"level 1-10", nil];

[dict removeObjectForKey:@"level 1-2"];
[dict setObject:@"open" forKey:@"level 1-2"];
Run Code Online (Sandbox Code Playgroud)