gpt4 book ai didi

objective-c - 目标/C : Sorting an array on a custom order

转载 作者:太空狗 更新时间:2023-10-30 03:51:32 24 4
gpt4 key购买 nike

我有一个 NSMutableDictionaries 数组,其中包含(除其他外)关键位置。我需要对数组进行排序以将其输入到表中。上面应该是N,下面应该是A,下面应该是R。所以排序:如何按顺序对数组进行排序:N - A - R?

编辑:我可以通过查看两个变量来排序,但我使用的变量超过 2 个(总共 7 个)...

谢谢,

最佳答案

如果您的数组是可变的,您可以使用 -sortUsing... 方法对其进行排序。如果没有,您可以使用 -sortedArrayUsing... 方法创建一个新的排序数组。例如,有 -sortUsingComparator: 和 -sortedArrayUsingComparator: 方法,它们将比较器 block 作为参数。您只需要提供一个 block ,使用您的自定义排序顺序比较两个对象,如下所示:

[myArray sortUsingComparator:^(id firstObject, id secondObject) {
NSString *firstKey = [firstObject valueForKey:@"location"];
NSString *secondKey = [secondObject valueForKey:@"location"];
if ([firstKey stringEqual:@"N"] || [lastKey stringEqual:@"R"])
return NSOrderedAscending;
else if ([firstKey stringEqual:secondKey])
return NSOrderedSame;
else
return NSOrderedDescending;
}];

Collections Programming Topics 中有关于数组排序的非常详尽的讨论,并附有示例。文档。

关于objective-c - 目标/C : Sorting an array on a custom order,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5497051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com