Разделите записи nsmutablearray в соответствии с ключом - PullRequest
0 голосов
/ 23 июня 2011
- (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 голосов
/ 23 июня 2011

Вы можете выполнить всю обработку в одном цикле for вместо использования регистра переключателя и повторения 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];
...