如何使用动态kyes解码此嵌套字典Plist文件,以快速转换类或结构?

问题描述 投票:0回答:1

我一直在搜索所有互联网以正确地解析休闲列表,但是我无法设法找到正确的方法。请帮忙。我尝试了多种结构或类,但没有结果,数据不会按预期填充结构。如果我尝试将其作为NSDictionary从bundle强制转换,则可以使用,但是如果我尝试迭代低谷,则class1,class2等的所有字典都显示为一个无法迭代低谷或无法使用的单一值。

<?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>class1</key>
    <dict>
        <key>RANDOM_NAME1</key>
        <dict>
            <key>path</key>
            <array>
                <string>test</string>
                <string>test</string>
                <string>test</string>
            </array>
        </dict>
        <key>RANDOM_NAME2</key>
        <dict>
            <key>path</key>
            <array>
                <string>test</string>
                <string>test</string>
                <string>test</string>
                <string>test</string>
                <string>test</string>
            </array>
        </dict>
    </dict>
    <key>class2</key>
    <dict>
        <key>RANDOM_NAME1</key>
        <dict>
            <key>path</key>
            <array>
                <string>test</string>
                <string>test</string>
                <string>test</string>
            </array>
        </dict>
        <key>RANDOM_NAME2</key>
        <dict>
            <key>path</key>
            <array>
                <string>test</string>
                <string>test</string>
                <string>test</string>
                <string>test</string>
                <string>test</string>
            </array>
        </dict>
    </dict>
    <key>class3</key>
    <dict>
        <key>RANDOM_NAME1</key>
        <dict>
            <key>path</key>
            <array>
                <string>test</string>
                <string>test</string>
                <string>test</string>
            </array>
        </dict>
        <key>RANDOM_NAME2</key>
        <dict>
            <key>path</key>
            <array>
                <string>test</string>
                <string>test</string>
                <string>test</string>
                <string>test</string>
                <string>test</string>
            </array>
        </dict>
    </dict>
</dict>
</plist>

[请注意,RANDOM_NAME1,RANDOM_NAME2等是我不知道的随机密钥,它们的数量可能有所不同。

swift parsing plist
1个回答
0
投票

您可以使用以下代码从plist文件中读取信息:

Bundle.main.object(forInfoDictionaryKey: RANDOM_NAME1);

否则,您希望将所有plist文件作为字典接收以与他合作,您可以使用此代码:

Bundle.main.infoDictionary
© www.soinside.com 2019 - 2024. All rights reserved.