按名称排序NSDocumentDirectory

时间:2013-07-22 10:08:18

标签: iphone ios nsarray nssortdescriptor nsdocumentdirectory

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

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

我有像这样的数组,

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

提前致谢

3 个答案:

答案 0 :(得分:1)

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

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

OR

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

答案 1 :(得分:1)

使用此功能。

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

对于NSArray试试这个。

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

答案 2 :(得分:1)

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

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