2013-07-22 150 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獲取數據並處理數據。 –