Separate the records of nsmutablearray according to key
- (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 objectAt开发者_开发问答Index:i];
NSMutableString *dataString=[tempData objectForKey:@"map"];
NSLog(@"Mean%@",dataString);
[yAxisarray addObject:dataString];
}
break;
}
return yAxisarray;
}
You can do all of the processing in a single for loop instead of using a switch case and the iterating 3 times.
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];
精彩评论