0

我有字典值数组,并且已经为单个数组项实现了计数器方法,但是在获取最终计数器值时遇到了问题。它正在添加单独的计数器值。

这是源代码。

-(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];
    }
}
4

1 回答 1

0

您可以使用

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

这将为您提供存储在字典中的第一个对象的代谢计数值的最终计数(如果它包含代谢计数键)

于 2012-04-25T07:05:49.410 回答