根据键分隔nsmutablearray的记录

时间:2011-06-23 05:22:07

标签: iphone cocoa-touch nsmutabledictionary

- (NSArray *)graphView:(S7GraphView *)graphView yValuesForPlot:(NSUInteger)myplotIndex {

NSLog(@"Y Axis Records %@ ",detailsArray);

NSMutableArray *yAxisarray = [[NSMutableArray alloc] init];

switch (myplotIndex) 
{
    default:
    case 0:


        for (int i=0; i < [detailsArray count]; i++ )

        {
            NSMutableDictionary *tempData=[detailsArray objectAtIndex:i];
            NSLog(@"Systolic details%@",tempData);
            NSMutableString *dataString = [tempData objectForKey:@"systolic"];
            NSLog(@"Systolic %@",dataString);
            [yAxisarray addObject:dataString];

        }
        break;
    case 1:
        for (int i=0; i < [detailsArray count]; i++ )

        {
            NSMutableDictionary *tempData=[detailsArray objectAtIndex:i];
            NSMutableString *dataString=[tempData objectForKey:@"diastolic"];
            NSLog(@"Diastolic%@",dataString);
            [yAxisarray addObject:dataString];

        }   
        break;
    case 2:     

        for (int i=0; i < [detailsArray count]; i++ )

        {

            NSMutableDictionary *tempData=[detailsArray objectAtIndex:i];
            NSMutableString *dataString=[tempData objectForKey:@"map"];
            NSLog(@"Mean%@",dataString);
            [yAxisarray addObject:dataString];

        }           
        break;
}
return yAxisarray;
}

1 个答案:

答案 0 :(得分:0)

您可以在单个for循环中执行所有处理,而不是使用switch case并迭代3次。

NSMutableArray *firstArray = [NSMutableArray array];
NSMutableArray *secondArray = [NSMutableArray array];
NSMutableArray *thirdArray = [NSMutableArray array];

for (int i=0; i < [detailsArray count]; i++ ) {
            NSMutableDictionary *tempData=[detailsArray objectAtIndex:i];
            NSMutableString *dataString=[tempData objectForKey:@"firstKey"];
            [firstArray addObject:dataString];

            dataString=[tempData objectForKey:@"secondKey"];
            [secondArray addObject:dataString];

            dataString=[tempData objectForKey:@"thirdKey"];
            [thirdArray addObject:dataString];
}

[yAxisArray addObjectsFromArray:firstArray];
[yAxisArray addObjectsFromArray:secondArray];
[yAxisArray addObjectsFromArray:thirdArray];