gpt4 book ai didi

iphone - 使用 NSSortDescriptor 对 NSMutableArray 中的 NSDate 对象进行排序?

转载 作者:可可西里 更新时间:2023-11-01 05:09:43 25 4
gpt4 key购买 nike

在我的项目中,我从 API 获取一些数据,然后通过解析 JSON 将数据检索到 NSMutableArray 中。它有一个名为“StartDate”的键,格式为:“mm/dd/yyyy hh:mm:ss”如下图

StartDate: "5/18/2013 12:00:00 AM"

我正在将这些数据保存到 resultArray 中。由于我的 JSON 的形式为

,因此对象还有 4 个键
{
EventId: "xxxx",
Title: "xxx",
Location: "xxxx",
StartDate: "5/18/2013 12:00:00 AM",
Link: null
}

这里有多个这样的对象。我需要做的就是根据日期(升序或降序)对 resultArray 的内容进行排序,我使用以下代码

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"StartDate" ascending:TRUE];
[resultArray sortUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];

但是我得到的结果是打乱的,整个排序都不正确,任何人都可以告诉我哪里出错了。

谢谢

最佳答案

应该可以

[resultArray sortUsingComparator:^NSComparisonResult(id a, id b) {

static NSDateFormatter *dateFormatter = nil;

if (!dateFormatter) {
dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"mm/dd/yyyy hh:mm:ss";
}

NSString *date1String = [a valueForKey:@"StartDate"];
NSString *date2String = [b valueForKey:@"StartDate"];

NSDate *date1 = [dateFormatter dateFromString:date1String];
NSDate *date2 = [dateFormatter dateFromString:date2String];

return [date1 compare:date2];
}];

关于iphone - 使用 NSSortDescriptor 对 NSMutableArray 中的 NSDate 对象进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14318018/

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