目前在我的应用程序中,我有一个NSArray,我从NSUserDefaults加载。 NSArray中的每个对象都是一个NSDictionary,它有大约5个不同的键。我根据其中的NSDates重新排序 NSDictionarys 。我不想单独对NSDates进行排序。
我尝试使用此代码执行此操作:
NSComparator sortByDate = ^(id dict1, id dict2) {
NSDate* n1 = [dict1 objectForKey:@"Date"];
NSDate* n2 = [dict2 objectForKey:@"Date"];
return (NSComparisonResult)[n1 compare:n2];
};
[self.cellArray sortUsingComparator:sortByDate];
即使代码被执行也没有任何反应。我很困惑,但是如何基于它内部的东西重新排序NSDictionarys。
任何人都可以对此提出任何见解吗?
谢谢!
答案 0 :(得分:1)
您可以尝试内联排序,但我怀疑这会产生什么重大影响。但我可以说我从来没有抽出我的积木。我肯定会尝试NSLogging以确保你获得有效的NSDates。
[cells sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
NSDate *n1 = [obj1 objectForKey:@"Date"];
NSDate *n2 = [obj2 objectForKey:@"Date"];
if (n1 > n2) {
return NSOrderedAscending;
} else (n1 < n2) {
return NSOrderedDescending;
} else {
return NSOrderedSame;
}
}];