2012-10-14 51 views
0

我寫了一個方法來訪問存儲在plist中的嵌套字典。工程於1080編譯器不錯,但我得到了10.7的編譯器以下錯誤:訪問嵌套NSDictionary 10.8 SDK V 10.7 SDK

預計方法來讀取對象類型「的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> 

下面是我用訪問的消息,X和Y嵌套值碼:

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

我假設10.8 SDK以這種方式處理訪問嵌套字典,但10.7不處理。

任何人都知道一種方法,將與兩個SDK兼容?

謝謝

回答

0

編譯與10.8 SDK並設置您的部署目標爲10.7。這可以向後部署到10.6。你的語法錯了,壽。不要將括號中的變量名括起來,只是下標鍵:

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

謝謝Jason,這是解決我的問題的部署目標。 – Lymedo

+0

順便說一句,我的使用方法的語法是正確的:[self methodToReturnDict] [methodInputParameter] [constant] – Lymedo

+0

@Lymedo這是真的,但這不是問題中的代碼,所以我只是指出它。 –