【问题标题】:Sorting array of dictionary in alphabetic order按字母顺序对字典数组进行排序
【发布时间】:2017-11-18 09:26:34
【问题描述】:

我有一个包含 3 个对象的数组。对象是字典类型。每个字典都有不同的键。我想按字母顺序对这个数组进行排序。

我的数组结构如下

MyListArray:({Return=something;},{Departure=something;},{Both=something;});

如何按字母顺序排序?

【问题讨论】:

标签: objective-c arrays sorting arraylist nssortdescriptor


【解决方案1】:

使用sortedArrayUsingComparator: 并比较de 比较器中的键。键是字典allKeys中的第一个键。

NSArray *sortedArray = [myListArray sortedArrayUsingComparator:^(NSDictionary* _Nonnull obj1, NSDictionary* _Nonnull obj2) {
    if (obj1.count == 0) {
        if (obj2.count == 0)
            return NSOrderedSame;
        else
            return NSOrderedAscending;
    }
    if (obj2.count == 0)
        return NSOrderedDescending;
    NSString *key1 = obj1.allKeys[0];
    NSString *key2 = obj2.allKeys[0];
    return [key1 compare:key2];
}];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-27
    • 1970-01-01
    • 1970-01-01
    • 2010-12-12
    相关资源
    最近更新 更多