我使用 NSDirectoryEnmerator
查找所有后缀为 png
和 jpg
的文件,代码如下:
NSDirectoryEnumerator *directoryEnumerator = [[NSFileManager defaultManager] enumeratorAtURL:containerURL includingPropertiesForKeys:[NSArray array] options:0 errorHandler:^BOOL(NSURL *url, NSError *error) {
// handle error
return NO;
}];
NSString *fileOrDirectory = nil;
while ((fileOrDirectory = [directoryEnumerator nextObject])) {
if([fileOrDirectory hasSuffix:@".jpg"] || [fileOrDirectory hasSuffix:@".png"]){
NSLog(@" find a image file %@", fileOrDirectory );
}
}
但是有一个错误说NSURL
没有方法hasSuffix
发生了什么以及如何让它发挥作用?迭代元素的类型到底是什么? posts经常建议上面的代码并被认为是一个 NSString
但它无法工作
最佳答案
enumeratorAtURL
方法适用于 NSURL
对象而不是字符串(异常原因清楚地揭示了这一点),您可以简单地比较 pathExtension
:
if ([fileOrDirectory.pathExtension isEqualToString:@"jpg"] ||
[fileOrDirectory.pathExtension isEqualToString:@"png"]) { ...
关于ios - NSDirectoryEnumerator 迭代元素无法比较后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46071326/