按文件创建时间排序NSArray

时间:2013-10-22 07:12:12

标签: ios objective-c

我已经阅读了有关该主题的所有答案,但仍然没有排除我的数组。请帮我解决这个问题。代码有什么问题?提前谢谢。

NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:filename error:NULL];
NSDate *date = [attributes fileCreationDate];
NSMutableArray *datesList  = [[NSMutableArray alloc] init];
[datesList addObject:date];
NSArray *sortedArray = [[NSArray alloc] init];
sortedArray = [datesList sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2){
    if ([obj1 date] > [obj2 date]) 
    {
      return (NSComparisonResult)NSOrderedAscending;
    }
    if ([obj1 date] < [obj2 date]) 
    {
       return (NSComparisonResult)NSOrderedDescending;
    }
    return (NSComparisonResult)NSOrderedSame;
}];
NSLog(@"sortedarray:%@",sortedArray);

1 个答案:

答案 0 :(得分:0)

首先,您只向数组添加一个对象:)

您的代码应如下所示:

sortedArray = [datesList sortedArrayUsingComparator:^NSComparisonResult(NSDate *first, NSDate *second){
   return [first compare:second];
}];

[NSDate compare:]返回`NSComparisonResult,这很好。如果您想要有相反的排序方向,可以添加!