【发布时间】:2014-09-25 13:02:48
【问题描述】:
我有一个这样的 NSDictionary:
{
"name": "Hayagreeva", //String
"age": 3, //Number
"subjects": { //Array
"rhymes": { //Dictionary 1
"test1": 10,
"test2": 20,
"test3": 30
},
"games": { //Dictionary 2
"test1": 40,
"test2": 50,
"test3": 60
},
"crayoning": { //Dictionary 3
"test1": 70,
"test2": 80,
"test3": 90
}
},
"date": "2008-02-16T10:06:00Z" //Date
}
现在我需要将关键主题 > 游戏 > test1 的值从 40 替换为 60。我知道获取另一个字典对象并创建类似字典的漫长过程,但该过程非常耗时,并且可能是错误的策略.我在这里也搜索了很多问题,但所有问题都可以删除第一级字典的键(例如删除上述代码中的键“主题”)。所以我想知道是否有一种简单有效的方法来更新内部级别的键值,因为我需要在当前项目的许多情况下执行此过程。提前致谢。
编辑:我也尝试过类似的东西
[dict removeValueForKey:@"subjects.games.test1"];
但这不起作用。我希望这行代码可以帮助您理解我想要的功能。
【问题讨论】:
-
这有助于创建一个新字典,但我需要的是我想替换字典深处存在的键的值并同时保留我自己的字典。
-
它不仅可以创建,还可以编辑。
-
我尝试使用我的字典对其进行初始化,并使用要替换的值传递键路径,但它使用唯一替换的键创建了一个新字典。
-
请给我看看你的代码
标签: ios objective-c xcode dictionary nsdictionary