gpt4 book ai didi

ios - NSArray 对字符串的另一个 NSArray 进行排序

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:59:31 25 4
gpt4 key购买 nike

我觉得这很简单,但我就是无法理解它。我有一组星期几供用户选择:

NSArray * daysOfTheWeek = [NSArray arrayWithObjects:@"sunday", @"monday", @"tuesday", @"wednesday", @"thursday", @"friday", @"saturday", nil];

我作为打开和关闭日期的开关,我想根据 dayOfTheWeek NSArray 对选定日期的 NSArray 进行排序。因此,如果用户有:

NSArray * userDays = [NSArray arrayWithObjects:@"thursday", @"monday", @"friday"];

我想将其排序为星期一、星期四、星期五。

我似乎发布了一些类似的问题,但没有一个问题足够清楚,让我知道如何将它们应用到这个问题上。可能是我 sleep 不足:)

谢谢!

最佳答案

NSArray *sortedUserDays = [userDays sortedArrayUsingComparator:^(id a, id b) {
return [@([daysOfTheWeek indexOfObject:a]) compare:@([daysOfTheWeek indexOfObject:b])];
}];

编辑:这使用 block 作为比较器对数组进行排序。

为了比较 userDays 数组的两个元素,它首先搜索它们在模板数组 daysOfTheWeek 中的位置:[daysOfTheWeek indexOfObject:a]

然后它将位置包装到 NSNumbers 中:@(index)

接下来它在包装的索引上调用 compare:。这只是为两个 NSUInteger 位置返回 NSComparisonResult 的懒惰方式。

关于ios - NSArray 对字符串的另一个 NSArray 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13941448/

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