按字母顺序排序字典数组

时间:2017-11-18 09:26:34

标签: objective-c arrays sorting arraylist nssortdescriptor

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

我的数组结构如下

navigation.home

如何按字母顺序对此进行排序?

1 个答案:

答案 0 :(得分: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];
}];