gpt4 book ai didi

ios - 如何在 ios 中对 NSMutableArray 中的时间进行排序

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:39:38 24 4
gpt4 key购买 nike

我在 NSMutableArray 中有一组字典。现在我想按时间对升序和降序进行排序,这里是我的数组值。

(
{
StartTime = "09:00 AM";
TravelsName = "ABC Travels";
},
{
StartTime = "07:30 AM";
TravelsName = "XYZ Travels ";
},
{
StartTime = "06:45 PM";
TravelsName = "GSP Travels";
},
{
StartTime = "05:00 PM";
TravelsName = "Madura Travels";
},
{
StartTime = "12:45 AM";
TravelsName = "MJT Travels";
},
{
StartTime = "12:45 PM";
TravelsName = "OPR Travels";
},
{
StartTime = "01:00 AM";
TravelsName = "VMS Travels";
}
)

请帮助我,我已经对 NSMutableArray 中的 NSDate 集进行了排序通过下面的代码

//To sort the Time Array
dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"hh:mm a"];

NSMutableArray *dates = [NSMutableArray arrayWithCapacity:times.count];

for (NSString *timeString in times)
{
NSDate *date = [dateFormatter dateFromString:timeString];
[dates addObject:date];
}
[dates sortUsingSelector:@selector(compare:)];

NSMutableArray *sortedTimes = [NSMutableArray arrayWithCapacity:dates.count];
for (NSDate *date in dates)
{
NSString *timeString = [dateFormatter stringFromDate:date];
[sortedTimes addObject:timeString];
}

但我不知道如何对 NSMutableArray 中的字典进行排序帮助我。

最佳答案

最好使用NSArray中已经提供的排序方法。应该这样做:

NSArray *stortedArray = [unsortedArray sortedArrayUsingComparator:^NSComparisonResult(NSDictionary *_Nonnull obj1, NSDictionary *_Nonnull obj2) {
return [obj1[@"StartTime"] compare:obj2[@"StartTime"]];
}];

或者如果 StartTime 仍然是一个字符串:

NSArray *stortedArray = [unsortedArray sortedArrayUsingComparator:^NSComparisonResult(NSDictionary *_Nonnull obj1, NSDictionary *_Nonnull obj2) {
return [[dateFormatter dateFromString:obj1[@"StartTime"]] compare:[dateFormatter dateFromString:obj2[@"StartTime"]]];
}];

要更改升序/降序,您只需在 block 中使用 obj1obj2 即可:

return [obj2[@"StartTime"] compare:obj1[@"StartTime"]];

关于ios - 如何在 ios 中对 NSMutableArray 中的时间进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33779272/

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