首页 > 解决方案 > 通过 UITableView 部分重置值

问题描述

我正在构建一个跟踪我的购买的个人预算应用程序。我有一个NSDictionary看起来NSArray像这样:

{
    46 =    (
                {
            DATE = "11/14/2019";
            ID = 21;
            PLACE = Kroger;
            PRICE = "23.32";
        },
                {
            DATE = "11/14/2019";
            ID = 22;
            PLACE = Walmart;
            PRICE = "12.54";
        }
    );
    47 =     (
                {
            DATE = "11/18/2019";
            ID = 23;
            PLACE = Cinco;
            PRICE = "65.32";
        }
    );
}

中的键NSDictionary是通过strftime使用来确定的%W。基本上我有一个每周可以花费的限制(即190),我希望每个titleForHeaderInSection:都有一个由每个键中的每个字段确定的总值PRICE

我目前在应用程序上有以下内容:

应用程序

下面计算NSDictionary上面列出的值以及总值:
注意:arrFoodInfo只是没有周数的NSDictionary条目

for (NSDictionary *dict in self.arrFoodInfo) {
        NSString *date = [dict objectForKey:@"DATE"];
        [totalPrices addObject:[dict objectForKey:@"PRICE"]];

        for (NSString *price in totalPrices) {
            if ([totalPrices containsObject:price]) {
                _sumPrices += [price floatValue]; // Calculates total value
                [totalPrices removeObject:price];
            }
        }

        NSDateFormatter *SDF = [[NSDateFormatter alloc]
                                 init];
        [SDF setDateStyle:NSDateFormatterMediumStyle];
        [SDF setDateFormat:@"MM/dd/yyyy"];
        NSDate *convertedDate = [SDF dateFromString:date];

        NSDateComponents *dateComponents = [calendar components:NSCalendarUnitYear | NSCalendarUnitWeekOfYear fromDate:convertedDate];

        NSInteger week = dateComponents.weekOfYear;
        NSInteger index = week;
        NSNumber *key = @(index);

        NSMutableArray *weekArray = weeksDictionary[key];
        if (!weekArray) {
            weekArray = [NSMutableArray array];
            weeksDictionary[key] = weekArray;
        }
        [weekArray addObject:dict];
    }

目前,我得到了每个部分的总数,PRICE但每个部分的总值应该不同。确定这一点的最佳选择是什么?

标签: iosobjective-cuitableviewnsarraynsdictionary

解决方案


推荐阅读