简单的子类别列表

时间:2009-11-05 15:41:11

标签: iphone arrays uitableview dictionary

我有一个类别的plist:

<array>
<dict>
    <key>part</key>
    <string>up</string>
    <key>house</key>
    <array>
        <dict>
            <key>name</key>
            <string>name1</string>
            <key>theme</key>
            <string>theme1</string>
            <key>image</key>
            <string>image1.png</string>
        </dict>
    </array>
</dict>
<dict>
    <key>part</key>
    <string>down</string>
    <key>house</key>
    <array>
        <dict>
            <key>name</key>
            <string>name2</string>
            <key>theme</key>
            <string>theme4</string>
            <key>image</key>
            <string>image2.png</string>
        </dict>
        <dict>
            <key>name</key>
            <string>name3</string>
            <key>theme</key>
            <string>theme2</string>
            <key>image</key>
            <string>image3.png</string>
        </dict>
    </array>
</dict>

但是我想要一个只包含所有名称列表的数组。 我试过NSArray* allSecretsWithDuplicates = [data valueForKeyPath:@"part.name"]; 问题是它返回一组字典。

1 个答案:

答案 0 :(得分:1)

你只需要自己走一下这个结构 - 写一个接受字典的方法,获取所有键的值,当它发现一个数组再次为数组中的每个字典调用自己。当遇到名为“name”的键时,它会将值存储到类本地可变数组中,或者在您自己调用时传递的可变数组。