0

我有以下代码可以从我的 .plist 中读取数据以在 UIPicker 中使用。这一切都很好,但现在我想拆分我的选择器,因为组件轮中的数据变得太大意味着滚动太多。

选择器的组件 0 具有值 a1 a2 a3 a4 a5 等到 z26。

如何将此组件拆分为 2,以便组件 0 是 a 到 z,组件 1 根据需要填充字典项 1、2、3:

NSString *path = [[NSBundle mainBundle] pathForResource:@"Picker" ofType:@"plist"];

pickerData = [[NSDictionary alloc]initWithContentsOfFile:path];

NSArray *sortArray = [[[NSArray alloc] initWithArray:[pickerData allKeys]]autorelease];

mainKeys = [[NSArray alloc]  initWithArray:[sortArray sortedArrayUsingSelector:@selector(localizedStandardCompare:)]];

currentValues = [[NSMutableArray alloc] initWithArray:[pickerData objectForKey:[mainKeys objectAtIndex:component0Row]]];

我不知道如何构造代码或 plist 来实现这一点。谁能给点建议,谢谢。

这是 plist 的摘录:

<dict>
    <key>a10</key>
    <array>
        <dict>
            <key>Lower Value</key>
            <integer>-310</integer>
            <key>Upper Value</key>
            <integer>-270</integer>
        </dict>
        <dict>
            <key>Lower Value</key>
            <integer>-318</integer>
            <key>Upper Value</key>
            <integer>-270</integer>
        </dict>
        <dict>
            <key>Lower Value</key>
            <integer>-338</integer>
            <key>Upper Value</key>
            <integer>-290</integer>
        </dict>
        <dict>
            <key>Lower Value</key>
            <integer>-360</integer>
            <key>Upper Value</key>
            <integer>-290</integer>
        </dict>
        <dict>
            <key>Lower Value</key>
            <integer>-620</integer>
            <key>Upper Value</key>
            <integer>-460</integer>
        </dict>
        <dict>
            <key>Lower Value</key>
            <integer>-680</integer>
            <key>Upper Value</key>
            <integer>-520</integer>
        </dict>
    </array>
    <key>a11</key>
    <array>
        <dict>
            <key>Lower Value</key>
            <integer>-330</integer>
            <key>Upper Value</key>
            <integer>-270</integer>
        </dict>
        <dict>
            <key>Lower Value</key>
            <integer>-345</integer>
            <key>Upper Value</key>
            <integer>-270</integer>
        </dict>

etc,etc
4

1 回答 1

0

这个链接带你到这个问题的解决方案

笔记!plist结构需要改变

uipicker 数据源的 NSArray 设置和概念

于 2011-08-25T06:03:28.947 回答