2013-07-22 110 views
1

我想通过fileName排序所有NSDocumentDirectory,但文件夹应该先按名称,然后所有文件按名称排序。按名称排序NSDocumentDirectory

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

我有阵一样,

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

在此先感谢

回答

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

您可以通过以下方式由按字母顺序排序阵列。我不确定文件夹是否在先。

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

OR

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

感谢好友,我知道我们可以使用该排序数组,但我的问题是,在排序列表中,文件夹应该是第一位的。顺便谢谢你的回复。 – Apple

1

使用此。

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

对于NSArray试试这个。

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

它的唯一的NSMutableArray,我想排序NSArray,并在它的文件夹应该首先。我不想为此类型转换。 – Apple

+0

@TapanNathvani立即试用。 –

+0

请发布正确的代码方式,从nsdocumentdirectory获取数据并处理数据。 –