回答
如果你只在阵列日期话,就可以排序为:
NSSortDescriptor* sortOrder = [NSSortDescriptor sortDescriptorWithKey: @"self" ascending: NO];
return [myArray sortedArrayUsingDescriptors: [NSArray arrayWithObject: sortOrder]];
或者用块
NSArray *reverseOrderUsingComparator = [dateArray sortedArrayUsingComparator:
^(id obj1, id obj2) {
return [obj2 compare:obj1];
}];
编辑:
按照讨论,请检查代码:
Assumimg你必须有一个类这些属性:
//MyClass.h
@interface MyClass : NSObject
@property(strong) NSString *title;
@property(strong) NSString *description;
@property(strong) NSDate *pubDate;
@end
//MyClass.m
@implementation MyClass
- (id)init
{
self = [super init];
if (self) {
_title=[NSString new];
_description=[NSString new];
_pubDate=[NSDate new];
}
return self;
}
-(NSComparisonResult)comparePubDate:(MyClass *)pd{
return [_pubDate compare:[pd pubDate]];
}
@end
在你的类,你有对象
的阵列中的.h
@property(strong) NSMutableArray *myClassObjects;
In .m
-(NSDate *)dateInMyFormat:(NSString *)dateString{
NSDateFormatter *dateFormatter = [NSDateFormatter new];
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss z"];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"EN"]];
NSDate *myDate=[dateFormatter dateFromString:dateString];
return myDate;
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
MyClass *obj1=[MyClass new];
[obj1 setTitle:@"obj1 title"];
[obj1 setDescription:@"obj1 description"];
[obj1 setPubDate:[self dateInMyFormat:@"Fri, 07 Dec 2012 08:40:33 +0100"]];
MyClass *obj2=[MyClass new];
[obj2 setTitle:@"obj2 title"];
[obj2 setDescription:@"obj2 description"];
[obj2 setPubDate:[self dateInMyFormat:@"Fri, 08 jan 2012 08:40:33 +0100"]];
MyClass *obj3=[MyClass new];
[obj3 setTitle:@"obj3 title"];
[obj3 setDescription:@"obj3 description"];
[obj3 setPubDate:[self dateInMyFormat:@"Fri, 08 jan 2012 06:40:33 +0100"]];
MyClass *obj4=[MyClass new];
[obj4 setTitle:@"obj4 title"];
[obj4 setDescription:@"obj4 description"];
[obj4 setPubDate:[self dateInMyFormat:@"Fri, 01 Jan 2012 08:40:33 +0100"]];
[_myClassObjects addObject:obj1];
[_myClassObjects addObject:obj2];
[_myClassObjects addObject:obj3];
[_myClassObjects addObject:obj4];
for (MyClass *object in _myClassObjects) {
NSLog(@"Title:%@, %@, %@",object.title, object.description, object.pubDate);
}
//for sorting
NSArray *sortedArray=[_myClassObjects sortedArrayUsingSelector:@selector(comparePubDate:)];
_myClassObjects=(NSMutableArray *)sortedArray;
NSLog(@"After sorting");
for (MyClass *object in _myClassObjects) {
NSLog(@"Title:%@, %@, %@",object.title, object.description, object.pubDate);
}
}
我还有一个问题:) 你能帮我吗?:) 我想用Safari打开一张图片,当我点击图片时。 图像通过其URL显示。 感谢您的回答!:) – user1882353
,但请亲切接受这个答案,如果它帮助。 –
明天,在我的工作场所:)。我会告诉你关于结果:),但在那之前,你能回答这个问题吗?:) THX的一切 – user1882353
- 1. 按日期排列具有日期字段的对象数组
- 2. 日期排序javascript数组
- 3. 排序日期数组TimeTime
- 4. 在日期排序数组
- 5. 按日期排序/分组数据(日)?
- 6. 数组排序日期,但没有按时排序
- 7. 排序数组中的日期?
- 8. jqgrid在具有两个日期的日期列上进行日期排序
- 9. 在日期组排序
- 10. KnockoutJS组+按日期排序
- 11. 按日期分组排序
- 12. 具有多个键和与日期容易的方法数组排序的JavaScript
- 13. 排序具有多个日期列的数据框
- 14. 如何按日期排序数组?
- 15. 数组排序包含在PHP日期
- 16. 排序对象数组按日期场
- 17. 按ISO排序PHP数组日期
- 18. 数组列表排序按日期
- 19. 日期时间数组排序
- 20. 排序多维数组按日期Laravel
- 21. 按日期排序PHP数组?
- 22. Php数组/按日期排序
- 23. 排序PHP数组按日期
- 24. PHP通过mysql排序数组日期
- 25. 日期数组排序问题,iPhone sdk
- 26. 根据日期排序数组
- 27. 按日期排序数组php
- 28. Jquery - 按ISO 8601排序数组日期
- 29. 如何按日期排序此数组?
- 30. PHP:排序多维数组按日期
欢迎来到堆栈溢出。由于以下一种或多种原因,你会得到低估:无意义的标题(你能帮助我吗?),缺乏研究或证据表明你已经尝试过任何东西(在nsmutablearray的文档中有几种与排序相关的方法,你没有提及其中的任何一个),这可能是重复的(在这里提出并回答)。请阅读常见问题解答以了解如何避免此问题。 – jrturton
你的数组中有NSDate对象还是只是简单的字符串?在提出问题之前,请阅读[FAQ]。 –
这是一个简单的字符串。 – user1882353