访问嵌套的NSDictionary 10.8 SDK v 10.7 SDK

时间:2012-10-14 16:51:32

标签: nsdictionary

我编写了一种方法来访问存储在plist中的嵌套字典。在10.8编译器上正常工作但我在10.7编译器上遇到以下错误:

  

读取对象类型'NSDictionary *'

上未找到的字典元素的预期方法

plist具有以下结构:

<dict>
<key>15.144.15</key>
<dict>
    <key>Message</key>
    <string>15</string>
    <key>X</key>
    <real>484.8828125</real>
    <key>Y</key>
    <real>104</real>
</dict>
<key>15.144.17</key>
<dict>
    <key>Message</key>
    <string>17</string>
    <key>X</key>
    <real>612.91796875</real>
    <key>Y</key>
    <real>190.6484375</real>
</dict>
</dict>

这是我用来访问Message,X和Y的嵌套值的代码:

NSString * value = [dictionaryFromPlist][parentKey][nestedKey];

我假设10.8 SDK以这种方式处理嵌套字典,但10.7不会。

任何人都知道一种与两种SDK兼容的方法吗?

由于

1 个答案:

答案 0 :(得分:0)

使用10.8 SDK进行编译,并将部署目标设置为10.7。这可以向后部署到10.6。你的语法错了。不要在括号中包围变量名,只包括下标键:

NSValue* value = dictionary[@"parentKey"][@"nestedKey"];