2012-04-25 95 views
0

我有字典值的数组,并已实现个别数组项目的计数器方法,但有问题获得最终的计数器值。它增加了个人计数器值。iphone +如何获得字典中的最终couter值

这里是源代码。

-(void)getData 
{ 
[lReportArr removeAllObjects]; 
    lMetaCount = 0; 
    NSMutableArray *lTempArr = [[NSMutableArray alloc] initWithArray:lMetaArray]; 
    NSLog(@"Metabolic Array:-%@", lTempArr); 
    for (int i = 0; i < [lTempArr count]; i++) 
    { 
     NSMutableDictionary *lDict = [lTempArr objectAtIndex:i]; 

     NSString *lTitle = [lDict objectForKey:@"title"]; 
     //Glucose Low count 
     if ([lTitle rangeOfString:@"Glucose reading : Low"].length > 0) 
     { 
      lMetaCount++; 
      NSString *lCount = [NSString stringWithFormat:@"Low BG:%d",lMetaCount]; 
      [lDict setValue:lCount forKey:@"metabolicCount"]; 
     } 
     //Glucose High count 
     else if ([lTitle rangeOfString:@"Glucose reading : High"].length > 0) 
     { 
      lMetaCount++; 
      NSString *lCount = [NSString stringWithFormat:@"High BG:%d",lMetaCount]; 
      [lDict setValue:lCount forKey:@"metabolicCount"]; 
     } 
     //Wrong Dose Cause count 
     else if([lTitle rangeOfString:@"Low Cause: Wrong Dose"].length > 0) 
     { 
      lMetaCount++; 
      NSString *lCount = [NSString stringWithFormat:@"LG Wrong Dose:%d",lMetaCount]; 
      [lDict setValue:lCount forKey:@"metabolicCount"]; 
     } 
     else if([lTitle rangeOfString:@"High Cause: Wrong Dose"].length > 0) 
     { 
      lMetaCount++; 
      NSString *lCount = [NSString stringWithFormat:@"HG Wrong Dose:%d",lMetaCount]; 
      [lDict setValue:lCount forKey:@"metabolicCount"]; 
     } 
     //Symptoms Cause count 
     else if([lTitle rangeOfString:@"Low Cause: Illness"].length > 0) 
     { 
      lMetaCount++; 
      NSString *lCount = [NSString stringWithFormat:@"LG Illness:%d",lMetaCount]; 
      [lDict setValue:lCount forKey:@"metabolicCount"]; 
     } 
     else if([lTitle rangeOfString:@"High Cause: Illness"].length > 0) 
     { 
      lMetaCount++; 
      NSString *lCount = [NSString stringWithFormat:@"HG Symptoms:%d",lMetaCount]; 
      [lDict setValue:lCount forKey:@"metabolicCount"]; 
     } 
     //LG n HG Treatment count 
     else if([lTitle rangeOfString:@"Treatment: Emergency Room"].length > 0) 
     { 
      lMetaCount++; 
      NSString *lCount = [NSString stringWithFormat:@"Emergency Room:%d",lMetaCount]; 
      [lDict setValue:lCount forKey:@"metabolicCount"]; 
     } 
     else if([lTitle rangeOfString:@"Treatment: Hospitalization"].length > 0) 
     { 
      lMetaCount++; 
      NSString *lCount = [NSString stringWithFormat:@"Hospitalization:%d",lMetaCount]; 
      [lDict setValue:lCount forKey:@"metabolicCount"]; 
     } 
     else if([lTitle rangeOfString:@"Treatment: Extra MD Office"].length > 0) 
     { 
      lMetaCount++; 
      NSString *lCount = [NSString stringWithFormat:@"Extra MD Office:%d",lMetaCount]; 
      [lDict setValue:lCount forKey:@"metabolicCount"]; 
     } 
     [lReportArr addObject:lDict]; 

    } 
} 

回答

0

可以使用

int c = [[lReportArr objectAtIndex:0] valueForKey:@"metabolicCount"]; 

这会给你metabolicCount价值的最终计数存储在字典中第一个对象,如果它包含metabolicCount关键