用于uipicker的数据源的NSArray设置和概念

时间:2011-07-10 02:38:38

标签: iphone multidimensional-array uipicker

我需要一些关于nsarrays和uipicker的帮助

我有一个由a,b,c,d列组成的数据表 和行m1,m2,m3,m4 表中的每个单元格都有2个值,包括上限和下限

因此,单元格m3,b的值为20和25,例如

抱歉,如果这不是很清楚,我想插入一张桌子的图片,但我没有足够的声誉点来这样做

无论如何我只是想在uipickerview中表示这个数据表,所以组件0有行m1,m2,m3等组件1有列a,b,c,d等,第2列和第3列显示上层和下限

我认为这样做需要一个二维数组,但我不知道如何正确创建数据源

任何人都可以提供建议

非常感谢

1 个答案:

答案 0 :(得分:1)

这是我几个星期前提出的问题的解决方案 它可能对其他人有用 谁知道?

这在我看来加载了

    //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]]];

希望有人可以就上面的代码提出建议,但到目前为止似乎对我有用