UITableView分组和.plist

UITableView分组和.plist,uitableview,plist,Uitableview,Plist,我想用plist制作一个分区的UITableView。 最初,我的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"> <array> <

我想用plist制作一个分区的UITableView。 最初,我的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">
<array>
    <dict>
        <key>name</key>
        <string>First</string>
        <key>description</key>
        <string>First</string>
        <key>image</key>
        <string>image.png</string>
    </dict>
    <dict>
        <key>name</key>
        <string>Second</string>
        <key>description</key>
        <string>SecondR</string>
        <key>image</key>
        <string>image.png</string>
    </dict>

//etc
</array>
</plist>
cell.textLabel.text = [[sortedList objectAtIndex:indexPath.row]objectForKey:@"name"];
<?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">
<array>
    <dict>
        <key>Title</key>
        <string>   Section1</string>
        <key>Rows</key>
        <array>
            <dict>
                <key>name</key>
                <string>Test</string>
                <key>description</key>
                <string>test</string>
                <key>image</key>
                <string>testtttt</string>
            </dict>
        </array>
    </dict>
    <dict>
        <key>Title</key>
        <string>   Section2</string>
        <key>Rows</key>
        <array>
            <dict>
                <key>name</key>
                <string>Test</string>
                <key>description</key>
                <string>test</string>
                <key>image</key>
                <string>testtttt</string>
            </dict>
        </array>
    </dict>
</array>
</plist>
现在,按照这个问题的答案,我用section创建了新的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">
<array>
    <dict>
        <key>name</key>
        <string>First</string>
        <key>description</key>
        <string>First</string>
        <key>image</key>
        <string>image.png</string>
    </dict>
    <dict>
        <key>name</key>
        <string>Second</string>
        <key>description</key>
        <string>SecondR</string>
        <key>image</key>
        <string>image.png</string>
    </dict>

//etc
</array>
</plist>
cell.textLabel.text = [[sortedList objectAtIndex:indexPath.row]objectForKey:@"name"];
<?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">
<array>
    <dict>
        <key>Title</key>
        <string>   Section1</string>
        <key>Rows</key>
        <array>
            <dict>
                <key>name</key>
                <string>Test</string>
                <key>description</key>
                <string>test</string>
                <key>image</key>
                <string>testtttt</string>
            </dict>
        </array>
    </dict>
    <dict>
        <key>Title</key>
        <string>   Section2</string>
        <key>Rows</key>
        <array>
            <dict>
                <key>name</key>
                <string>Test</string>
                <key>description</key>
                <string>test</string>
                <key>image</key>
                <string>testtttt</string>
            </dict>
        </array>
    </dict>
</array>
</plist>
但我的手机是空的

我希望cell.textLabel.text为每个节中包含的每个元素(行)显示键
名称

有人能帮我吗

您的
plist
是一组
词典
。每个
字典
代表一个
部分
。 而
节中的
作为
数组
存在,其
在该
/
字典
中是
。 因此,要在特定的
部分中获取
,首先获取
部分
。然后使用
objectForKey:@“Rows”
获取

一旦您有了行
数组
,它就再次包含了作为
字典的多个

NSDictionary*section=[sortedList objectAtIndex:indexath.section];
NSArray*行=[section objectForKey:@“rows”];
cell.textlab.text=[[rows-objectAtIndex:indexath.row]objectForKey:@“name”];