我在nsdocumentdirectory一些文件,當我拿來那些提交其收益與隨機position.I文件正在使用此下面的代碼:如何從nsdocumentdirectory按其名稱對文件進行排序?
NSString *downloadDirectory = [Utility bookDownloadFolder];
NSString *bookFolder = [[_selectedBook.zipFile lastPathComponent] stringByDeletingPathExtension];
NSString *bookFolderFinal = [downloadDirectory stringByAppendingPathComponent:bookFolder];
NSMutableArray *retval = [NSMutableArray array];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error = nil;
NSArray *files = [fileManager contentsOfDirectoryAtPath:bookFolderFinal error:&error];
和輸出是這樣的:
文件(」 1.JPG 「 」1.txt的「, 」10.JPG「, 」10.txt「 」11.JPG「, 」11.txt「, 」12.JPG「, 」12.txt「,」 13.jpg 「,」13.txt「,」2.jpg「,」2.txt「,」3.jpg「,」3.txt「,」4.jpg「,」4.txt「,」5.jpg「, 「5.txt」,「6.jpg」,「6.txt」,「7.jpg」,「7.txt」,「__MACOSX」 )
但我想輸出的升序像:files 「1.JPG」, 「1.txt的」, 「2.JPG」,「2 (「__MACOSX」,「1.jpg」,)
如果我使用localizedCaseInsensitiveCompare排序數組,它在這種情況下不起作用,如果我使用localizedCaseInsensitiveCompare,那麼輸出只是這樣。 1.txt,10.jpg,10.txt,11.jpg,11.txt,12.jpg,12.txt,13.jpg,13。 txt「,」2.jpg「,」2.txt「,」3.jpg「,」3.txt「,」4.jpg「,」4.txt「,」5.jpg「,)
的可能的複製[如何在NSArray中按字母順序排序?(http://stackoverflow.com/questions/1351182/how-to-sort-a-nsarray-alphabetically) – Droppy
沒有localizedCaseInsensitiveCompare沒有在這種情況下工作, (「__MACOSX」, 「1.jpg」, 「1.txt」, 「10.jpg」, 「10.txt」, 「11.jpg」,如果我使用localizedCaseInsensitiveCompare, 」, 「11.txt」, 「12.JPG」, 「12.txt」, 「13.jpg」, 「13.txt」, 「2.JPG」, 「2.txt」 , 「3.jpg」, 「3.txt」, 「4.jpg」, 「4.txt」, 「5.jpg」, ) –
You want [this one](http://stackoverflow.com/questions/11075644/sort-nsmutablearray -with-strings-that-contain-numbers)。但是,你需要打定主意;你想要數字還是不是? – Droppy