【问题标题】:Sorting NSDocumentDirectory by name按名称排序 NSDocumentDirectory
【发布时间】:2013-07-21 00:37:57
【问题描述】:

我想按文件名对所有 NSDocumentDirectory 进行排序,但文件夹应该首先按名称排序,然后所有文件都按名称排序。

在我的文档目录中,我也有很多文件和文件夹。

我有这样的数组,

_filePathsArray =[[NSFileManager defaultManager] contentsOfDirectoryAtPath:_selectedPath error:Nil];

提前致谢

【问题讨论】:

    标签: iphone ios nsarray nssortdescriptor nsdocumentdirectory


    【解决方案1】:

    您可以通过以下方式按字母顺序对数组进行排序。我不确定文件夹是第一位的。

    [myArray sortUsingSelector:@selector(caseInsensitiveCompare:)];
    

    sortedArray = [anArray sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
    

    【讨论】:

    • 谢谢哥们,我知道我们可以使用它对数组进行排序,但我的问题是在排序列表中,文件夹应该排在第一位。顺便感谢您的回复。
    【解决方案2】:

    使用这个。

     [yourArray sortUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
    

    对于 NSArray 试试这个。

     NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"interest"  ascending:YES];
    [stories sortedArrayUsingDescriptors:[NSArray arrayWithObjects:descriptor,nil]];
    recent = [stories copy];
    

    【讨论】:

    • 它仅适用于 NSMutableArray,我想对 NSArray 进行排序,并且其中的文件夹应该排在第一位。而且我不想为此进行类型转换。
    • @TapanNathvani 立即尝试。
    • 请发布正确的代码方式,您从 nsdocumentdirectory 获取数据并处理数据。
    • 你好,在我的问题中,有一行,其中我得到了 _filesPathArray 中的所有文档数据,我想对该数组进行排序。
    【解决方案3】:

    以下代码对我有帮助...感谢朋友的回复。

    NSArray *fileArray = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:_selectedPath error:Nil];
    
    _filePathsArray = [[NSMutableArray alloc]init];
    NSMutableArray *fileArray1 = [[NSMutableArray alloc]init];
    for(int i=0;i<[fileArray count];i++)
    {
        if ([[[fileArray objectAtIndex:i] pathExtension] isEqualToString:@""])
        {
            [_filePathsArray addObject:[fileArray objectAtIndex:i]];
        }
        else
        {
            [fileArray1 addObject:[fileArray objectAtIndex:i]];
        }
    
    }
    
    [_filePathsArray addObjectsFromArray:fileArray1];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-26
      • 1970-01-01
      • 1970-01-01
      • 2014-09-19
      • 2018-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多