ios – 按密钥中的字符串日期对NSDictionaries的NSArray进行排序?

ios – 按密钥中的字符串日期对NSDictionaries的NSArray进行排序?,第1张

概述我一直在努力寻找一种简单的方法来对包含NSDictionaries的NSMutableArray进行排序.每个NSDictionary都有一个名为“Date”的键,其中包含一个日期的NSString(例如:2014年10月15日). 我要做的是根据这些字符串按升序对数组进行排序. 我试过这个没有运气: NSComparisonResult dateSort(NSString *s1, NSStri 我一直在努力寻找一种简单的方法来对包含NSDictionarIEs的NSMutableArray进行排序.每个NSDictionary都有一个名为“Date”的键,其中包含一个日期的Nsstring(例如:2014年10月15日).

我要做的是根据这些字符串按升序对数组进行排序.

我试过这个没有运气:

NSComparisonResult dateSort(Nsstring *s1,Nsstring *s2,voID *context) {    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];    [formatter setDateFormat:@"MM/dd/yy"];    NSDate *d1 = [formatter dateFromString:s1];    NSDate *d2 = [formatter dateFromString:s2];    return [d1 compare:d2]; // ascending order    return [d2 compare:d1]; // descending order}

我也试过这个没有运气:

NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"interest"  ascending:YES];    storIEs=[storIEs sortedArrayUsingDescriptors:[NSArray arrayWithObjects:descriptor,nil]];    recent = [storIEs copy];

每种方式都会导致崩溃,我认为这是因为它是Nsstring而不是NSDate,但我对如何做到这一点感到茫然.

谁能告诉我正确的方法来实现这一目标?

这就是我调用第一个代码块的方式:

theDictionarIEs = [[theDictionarIEs sortedArrayUsingFunction:dateSort context:nil] mutablecopy];
解决方法 你需要在你的词典中找到字符串.看起来你正试图比较字典本身.如果你有一个名为data的数组,你会做这样的事情,
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];[formatter setDateFormat:@"MM/dd/yyyy"];self.data = [self.data sortedArrayUsingComparator:^NSComparisonResult(NSDictionary *obj1,NSDictionary *obj2) {    NSDate *d1 = [formatter dateFromString:obj1[@"date"]];    NSDate *d2 = [formatter dateFromString:obj2[@"date"]];    return [d1 compare:d2]; // ascending order    return [d2 compare:d1]; // descending order}];NSLog(@"%@",self.data);
总结

以上是内存溢出为你收集整理的ios – 按密钥中的字符串日期对NSDictionaries的NSArray进行排序?全部内容,希望文章能够帮你解决ios – 按密钥中的字符串日期对NSDictionaries的NSArray进行排序?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1098209.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存