0

我编写了一种方法来访问存储在 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 兼容的方法吗?

谢谢

4

1 回答 1

0

使用 10.8 SDK 编译并将部署目标设置为 10.7。这可以向后部署到 10.6。你的语法是错误的,寿。不要将变量名称括在括号中,只需将下标键括起来:

NSValue* value = dictionary[@"parentKey"][@"nestedKey"];
于 2012-10-14T16:59:38.303 回答