作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在运行以下代码,以最快结束的顺序对数组进行排序(最近的 expiry_date 到 [NSDate date]
(现在)。
但是,每当我运行比较器时,它对数组完全没有影响,并且所有对象都保留其当前位置。请你告诉我哪里出错了?
[self.questions sortUsingComparator:^NSComparisonResult(NSDictionary * question1, NSDictionary *question2) {
NSDate* dateq1 = [NSDate dateWithTimeIntervalSinceNow:[[question1 objectForKey:@"expiry_date"] floatValue]];
NSDate * dateq2 = [NSDate dateWithTimeIntervalSinceNow:[[question2 objectForKey:@"expiry_date"] floatValue]];
NSComparisonResult result = [dateq1 compare:dateq2];
NSLog(@"%@", result == NSOrderedAscending ? @"ASC" : result == NSOrderedDescending ? @"DESC" : @"SAME");
return result;
}];
NSLog() 返回以下内容:
DESC
DESC
ASC
我尝试反转比较,用 dateq2
代替 dateq1
,反之亦然,但数组永远不会改变,即使返回的值会改变。
最佳答案
看起来它对我有用(从你的输出来看),但也许这更简洁,因此更不容易出错?
NSArray* unsorted;
NSSortDescriptor* descriptor = [NSSortDescriptor sortDescriptorWithKey: @"expiry_date" ascending: NO];
self.questions = [unsorted sortedArrayUsingDescriptors: @[ descriptor ] ];
关于objective-c - NSSortComparator 对 NSMutableArray 没有影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11955854/
我正在运行以下代码,以最快结束的顺序对数组进行排序(最近的 expiry_date 到 [NSDate date] (现在)。 但是,每当我运行比较器时,它对数组完全没有影响,并且所有对象都保留其当前
在立即假设这是重复之前,请继续阅读。 我想对一个大的 NSMutableOrderedSet 进行排序以高效的方式。 我知道如何对 NSMutableOrderedSet 进行排序使用 NSSortC
我是一名优秀的程序员,十分优秀!