如何使用NSPredicate

在给出以下代码并且硬盘中的文件是图像的情况下,如何强制执行从硬盘中检索文件的特定命令。 如何修改下面的代码,以便即使由于排序问题而改变了硬盘中的顺序,图像的检索也必须遵循特定的顺序,例如,现在HD中的文件按名称进行排序。之前的排序更改为通过日期或其他方式。

换句话说,如何以编程方式强制将文件的检索始终按字母顺序或任何其他条件

代码

NSString *bundleRoot = [[NSBundle mainBundle] bundlePath];
NSFileManager *fm = [NSFileManager defaultManager];
NSArray *dirContents = [fm contentsofDirectoryAtPath:bundleRoot error:nil];
NSString *pred = [NSString stringWithFormat:@"SOME TEXT 'iconxxx%@x.png' ",acx];
NSPredicate *fltr = [NSPredicate predicateWithFormat:pred];
NSArray *onlys = [dirContents filteredArrayUsingPredicate:fltr];
luofeng0710 回答:如何使用NSPredicate

NSFilemanager不负责对文件列表进行排序。用谓词过滤后,只需对数组进行排序。通常使用localizedStandardCompare进行排序,类似于Finder或任何其他文件管理器。

// sort the filtered array
NSArray *sorted = [onlys sortedArrayUsingSelector:@selector(localizedStandardCompare:)];
本文链接:https://www.f2er.com/3161124.html

大家都在问