大佬教程收集整理的这篇文章主要介绍了ios – 按密钥中的字符串日期对NSDictionaries的NSArray进行排序?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我要做的是根据这些字符串按升序对数组进行排序.
我试过这个没有运气:
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];
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进行排序?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。