按文件创建时间对 NSArray 进行排序



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

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);

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

您的代码应如下所示:

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

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

最新更新