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 に答える