Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSDictionary,替换字符串引用_Ios_Objective C_Nsdictionary - Fatal编程技术网

Ios 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

我有一个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
                        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中提供的选项?键可能不同。更新了问题。