gpt4 book ai didi

ios - 使用 sortDescriptors 基于另一个 NSArray 对 NSArray 进行排序

转载 作者:行者123 更新时间:2023-12-01 17:53:45 25 4
gpt4 key购买 nike

我有一个 NSArraystrings不遵循模式的对象,例如:

D C A Z X。

当我尝试对类似的 array 进行排序时按升序,我得到:

A C D X Z。

这不是我想要的结果,我需要实现与引用数组相同的模式。我只是不确定如何使用 NScomparisonResultNSSortDescriptor .

第二个array ,可能不完全相同,但我需要有相同的顺序。例如,也许我有 D X A。基于引用 array我需要得到 D A X。

更新:

好的,这是我的代码:

- (PFQuery *)queryForTable {
PFQuery *query = [PFQuery queryWithClassName:self.parseClassName];

// This is the reference array
NSArray *labels = [@"Café da Manhã", @"Meio da Manhã", @"Almoço", @"Meio da Tarde", @"Final da Tarde", @"Jantar", @"Pós-Treino"];

NSSortDescriptor *descriptor =
[NSSortDescriptor sortDescriptorWithKey:@"refeicao" ascending:YES comparator:^NSComparisonResult(id obj1, id obj2) {
NSUInteger index1 = [labels indexOfObject:obj1];
NSUInteger index2 = [labels indexOfObject:obj2];
return index1 - index2;
}];

[query orderBySortDescriptor:descriptor];
return query;
}

我有一个数组 PFObject s,我需要通过键 refeicao 订购.

最佳答案

您将需要编写自己的比较方法(可以与排序描述符相关联,因为您可以将其实现为 NSComparator )。

此方法需要在引用数组中找到要比较的 2 个字符串,并使用索引位置进行比较。不会比较实际值,一切都是关于引用数组中相应字符串的位置。

关于ios - 使用 sortDescriptors 基于另一个 NSArray 对 NSArray 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21879457/

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