我在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