plist中数组中的数组

时间:2012-04-08 01:15:06

标签: xcode nsarray plist nsdictionary

我真的在这个上苦苦挣扎;我读了许多不同的帖子和苹果文献但无济于事。我的应用程序中有以下plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>7A</key>
<dict>
    <key>Title</key>
    <string>Cells</string>
    <key>Subunits</key>
    <array>
        <string>Some</string>
        <string>Text</string>
        <string>In</string>
        <string>Here</string>
    </array>
</dict>
<key>7B</key>
<dict>
    <key>Title</key>
    <string>Reproduction</string>
    <key>Subunits</key>
    <array>
        <string>Different</string>
        <string>Text</string>
        <string>In</string>
        <string>Here</string>
    </array>
</dict>

    

在我的桌面视图中,我可以通过使用数组来显示7A和7B来保存“allKeys”。我现在面临的问题是点击时该怎么做。我已经使用属性将选定的单元格作为字符串和原始字典传递给下一个viewcontroller。但是,我似乎无法“向下钻取”到Subunits数组。  任何帮助将非常感激。  非常感谢。

1 个答案:

答案 0 :(得分:2)

NSDictionary* dict;   // as loaded from your plist file
NSString* selectedKey = @"7A";
NSDictionary* subDict = [dict objectForKey:selectedKey];
NSArray* subunits = [subDict objectForKey:@"Subunits"];

然后subunits应该是一个NSStrings数组。