0

[[NSFileManager defaultManager] subpathsAtPath:storagePath] 返回一个字符串数组,表示“storagePath”中所有项目的路径。在我的测试中,这个数组看起来总是按文件名的字母顺序排序,但在文档中我找不到任何告诉我这种排序得到保证的东西。如果我知道数组已排序,我可以更有效地搜索它。

任何人都知道这个数组是否保证被排序?

4

1 回答 1

0

尝试这样的事情:

NSMutableArray* fetchResults = [[NSFileManager defaultManager] subpathsAtPath:storagePath];
[fetchResults sortUsingComparator:^NSComparisonResult(NSString* a, NSString* b){
    NSString* a1 = [a lastPathComponent];
    NSString* b1 = [b lastPathComponent];
    return [a1 localizedCaseInsensitiveCompare b1];
    }
];

当一切都按字母顺序开始时,这种排序将运行得相当快,这意味着您可以放心,您将始终拥有所需的字母顺序,而不会浪费太多 CPU 周期来获取它。

于 2013-10-31T21:25:48.380 回答