【问题标题】:Sorting and Grouping NSArray into new NSMutablearray将 NSArray 排序和分组到新的 NSMutablearray
【发布时间】:2013-12-16 06:01:14
【问题描述】:

我有一个 NSMutableDictionary *dict,其中包含一个 NSArray,键为 kfoo。我想用它的内容重建数组,让它们进入新的组。我怎样才能做到这一点?

2013-12-16 06:28:14.236 weather[1246:303] {
    kfoo =     (
                (
            AAAAA,
            11111,
            sun
        ),
                (
            BBBBB,
            22222,
            mond
        ),
                (
            CCCCC,
            33333,
            sun
        ),
                (
            DDDDD,
            44444,
            water
        )
    );
}

从上面的日志中,这就是我想要的:

2013-12-16 06:28:14.236 weather[1246:303] {
    kfoo =     (
            sun =(
            AAAAA,
            11111,
            CCCCC,
            33333
        ),
            mond =(
            BBBBB,
            22222
        ),
            water =(
            DDDDD,
            44444
        )
    );
}

【问题讨论】:

  • 请详细说明

标签: objective-c sorting nsarray grouping


【解决方案1】:

这样的事情怎么样?这假设您的密钥名称始终位于索引 2 处(理想情况下,您应该找到一种更可靠的方法来确定您的密钥)。您需要将 kfoo 传递给它。

- (NSMutableDictionary *) processWeatherArray:(NSArray *)toProcess {
    NSMutableDictionary *toReturn = [NSMutableDictionary dictionary];

    for(NSArray *array in toProcess)
    {
        NSString *key = array[2];
        if ([toReturn objectForKey:key] == nil) {
            [toReturn setObject:[NSMutableArray array] forKey:key];
        }
        NSMutableArray *keyValue = [toReturn objectForKey:key];

        for(int i=0; i<array.count; i++)
        {
            if (array[i] != key)
            {
                [keyValue addObject:array[i]];
            }
        }
    }
    return toReturn;
}

【讨论】:

  • 多数组永远是我的噩梦 :( 非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多