Ios NSDictionary,替换字符串引用
我有一个JSON序列化的NSDictionary,其结构如下:Ios NSDictionary,替换字符串引用,ios,objective-c,nsdictionary,Ios,Objective C,Nsdictionary,我有一个JSON序列化的NSDictionary,其结构如下: key1_1 = ( //Array of dictionaries { //dict 1 key2_1 = val2_1 key2_2 = @"TO_BE_REPLACED" key2_3 = ( //Another array of dictionaries { //dict
key1_1 = ( //Array of dictionaries
{ //dict 1
key2_1 = val2_1
key2_2 = @"TO_BE_REPLACED"
key2_3 = ( //Another array of dictionaries
{ //dict
key2_3_1 = val2_3_1
key2_3_2 = @"TO_BE_REPLACED"
...
},
... //more dicts
)
},
... //more dicts
),
key1_2 = ...
所以它基本上有一个复杂的数组和字典结构。在任何级别,我都可能遇到一个需要替换的字符串。请注意,钥匙会有所不同
我能够使用递归成功地导航结构。但我的问题是,在对NSDictionary进行迭代时无法对其进行修改
这类问题的可能解决方案是什么?键入NSDictionary到NSMutableDictionary。或者您可以使用NSObject类从NSMutableDictionary存储到Model class对象,以便编辑其中的值并还原回mutableDictionary非常容易。如果嵌套字典包含相同的键,然后你可以用模型课。模型类将键作为属性,并具有同一类的对象的属性。使用此选项,您可以轻松替换“待替换”字符串。同样的规则适用于NSMutableDictionary,您不能在迭代时修改它。但是在迭代时,如果您找到了所需的值,而不是使用setvalue将该值插入到dictionary中,则可以将您想要的值放入dictionary中。我不确定我是否理解您的意思,但假设您正在谈论将我的dictionary转换为NSObject:在我的情况下,它不起作用,字典没有固定的结构。好的。如果我没有弄错,您将从服务器得到响应,当您得到这个值“@”TO____替换”时,您需要替换它。您是否查看了NSJSONSerialization中提供的选项?键可能不同。更新了问题。