【发布时间】:2010-07-09 15:43:43
【问题描述】:
我正在为 iOS 4 在 XCode 3.2.3 中编写一个应用程序。在我的代码中,我正在创建一个 NSDictionaries 的 NSArray,每个包含两个键/值对、一个字符串和一个 NSDictionaries 的 NSArray(有点令人困惑,我知道)。只是为了给你一个视觉,这里是结构:
<NSArray>
<NSDictionary>
<NSString/>
<NSArray>
<NSDictionary/>
<NSDictionary/>
...
</NSArray>
</NSDictionary>
...
</NSArray>
奇怪的是,当我将一个新的 NSDictionary 添加到最里面的 NSArray 时,它似乎将相同的字典添加到包含在外部 NSDictionaries 每个 中的 NSArray。下面是我如何将最里面的 NSDictionary 添加到最里面的 NSArray:
[[outerDict objectForKey:@"innerArray"] addObject:innerDict];
所以,回顾一下,我想要的输出是这样的:
<outerArray>
<outerDict1>
<string>
<innerArray1>
<innerDict1>
<innerDict2>
</innerArray1>
</outerDict1>
<outerDict2>
<string>
<innerArray2>
<innerDict3>
<innerDict4>
</innerArray2>
</outerDict2>
<outerArray>
但我实际上得到的是:
<outerArray>
<outerDict1>
<string>
<innerArray1>
<innerDict1>
<innerDict2>
<innerDict3>
<innerDict4>
</innerArray1>
</outerDict1>
<outerDict2>
<string>
<innerArray2>
<innerDict1>
<innerDict2>
<innerDict3>
<innerDict4>
</innerArray2>
</outerDict2>
<outerArray>
注意,内部 NSDictionaries 被添加到 every innerArray。对于我的生活,我无法弄清楚为什么!
任何帮助将不胜感激,谢谢!
-马特
【问题讨论】:
-
你能贴出创建整个outerArray的代码吗?
[[outerDict objectForKey:@"innerArray"] addObject:innerDict];看起来正确。
标签: iphone objective-c xcode nsarray nsdictionary