Настройка и концепция NSArray для источника данных для uipicker - PullRequest
0 голосов
/ 10 июля 2011

мне нужна помощь с nsarrays и uipicker

у меня есть таблица данных, состоящая из столбцов a, b, c, d и ряды м1, м2, м3, м4 каждая ячейка в таблице имеет 2 значения: верхний и нижний предел

поэтому ячейка m3, b имеет значения 20 и 25, например

извините, если это не очень ясно, я хотел вставить изображение стола, но у меня недостаточно очков репутации, чтобы сделать это

в любом случае, я просто хочу представить эту таблицу данных в виде uipickerview, чтобы компонент 0 имел строки m1, m2, m3 и т. Д. Компонент 1 имеет столбцы a, b, c, d и т. Д., А столбцы 2 и 3 показывают верхнюю и нижние пределы

Я думаю, что для этого нужен 2d массив, но я не знаю, как правильно создать источник данных

Может кто-нибудь, пожалуйста, посоветуйте

большое спасибо

1 Ответ

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

при этом мое решение вопроса, который я задал несколько недель назад это может быть полезно кому-то еще кто знает?

это пошло, на мой взгляд, загрузило

    //integer to hold the current row of component 0, this is set to "0" when the view loads.
component0 = 0;
component1 = 0;

    // get the plist

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

    // Assign the contents of the plist to a NSDictionary for processing
mypickervalues = [[NSDictionary alloc] initWithContentsOfFile:path];

    // Creats an array from the keys which we will then use as labels in the picker.

NSArray *sortArray = [[NSArray alloc] initWithArray:[mypickervalues allKeys]];

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

[sortArray release];

NSArray *sortArray2 = [[NSArray alloc] initWithArray:[[mypickervalues objectForKey:[wheelone objectAtIndex:component0]]allKeys]]; 

wheeltwo = [[NSArray alloc] initWithArray:[sortArray2 sortedArrayUsingSelector:@selector(localizedStandardCompare:)]];
[sortArray2 release];


    // setup uipicker and assign to myPicker
myPicker = [self setupPicker];

    // Loads the data linked to the appropriate field in the table of data supplied.
wheelthree = [[NSMutableArray alloc] initWithArray:[[mypickervalues objectForKey:[wheelone objectAtIndex:component0]] objectForKey:[wheeltwo objectAtIndex:component1]]];

надеюсь, что кто-то может посоветовать приведенный выше код, но пока он работает нормально для меня

...