Разделение компонентов Uipicker для минимизации прокрутки при большом наборе данных - PullRequest
0 голосов
/ 13 августа 2011

У меня есть следующий код для чтения данных из моего .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]]];

Я не знаю, как структурировать код или список для этого. Может кто-нибудь посоветовать, спасибо.

Вот выдержка из списка:

<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

1 Ответ

0 голосов
/ 25 августа 2011

эта ссылка приведет вас к решению этого вопроса

note!структура plist должна измениться

Настройка NSArray и концепция источника данных для uipicker

...