检查objects数组中key的值是否相同iOS?

Check if the value of key in an array of objects is same iOS?

我有一个 NSArray 有一些 dictionaries.which 有一些键和 values.which 我在一个表视图中显示。我会把 header 部分的标题是该字典中一个键的值之一,即像 ddDate 值。问题是相同的 ddDate 值需要放在同一部分下。所以我需要根据那个创建我的数组。

responseDict (
        {
        xx = 16;
        yy = 17;
        aa = 0;
        bb = 6;
        cc = 2016;
       ddDate = "17-06-2016";
    },
        {
        xx = 17;
        yy = 17;
        aa = 0;
        bb = 6;
        cc = 2016;

        ddDate = "17-06-2016";

    },
        {
        xx = 18;
        yy = 17;
        aa = 0;
        bb = 6;
        cc = 2016;

        ddDate = "18-06-2016";

    }

即日期是章节标题。以及那些在一个部分下具有相同 ddDate 值的人。谁能指导我如何实现这一目标?

您必须创建自定义数组然后比较日期,如果日期相同则将其添加到一个 header 标题下,否则将其移至下一个 header 标题。因此,我在这里看不到捷径。

你的目标是建立两个数据结构; ddDate 个值的数组;这将是您的部分信息和数组字典,由 ddDate 值作为键;这将是您的行数据。

@property (strong, nonatomic) NSArray *sections;
@property (strong, nonatomic) NSDictionary *rows;

- (void)processJSONData:(NSArray *)inputArray {

    NSMutableDictionary *extractedData = [NSMutableDictionary new];
    for (NSDictionary *dict in inputArray) {
        NSString *ddDate = dict["ddDate"];
        NSMutableArray *rowArray = extractedData[ddDate];
        if (rowArray == nil) {
            rowArray = [NSMutableArray new];
            extractedData[ddDate] = rowArray;
        }
        [rowArray addObject:dict];
    }

    self.sections = [extractedData allKeys];
    self.rows = [NSDictionary dictionaryWithDictionary:extractedData];
}

您可能想要对 self.sections 数组进行排序。

节数为 self.sections.count,节中的行数为 self.rows[self.sections[indexPath.section]].count