我的应用从服务器下载zip文件并将内容提取到设备。我需要一种方法来查找所有音频文件(mp3,mp4a,m4b等)。它还需要扫描所有子目录。现在这就是我在做的事情。
-(NSArray *)audioPathsInDirectory:(NSString *)directory {
NSDirectoryEnumerator *enumerator = [[NSFileManager defaultManager] enumeratorAtPath:directory];
NSMutableArray *audioPathArray = [NSMutableArray array];
NSString *partialFilePath;
while (partialFilePath = [enumerator nextObject]) {
if ([[partialFilePath pathExtension] isEqualToString:@"m4b"] ||
[[partialFilePath pathExtension] isEqualToString:@"m4a"] ||
[[partialFilePath pathExtension] isEqualToString:@"mp3"]) {
[audioPathArray addObject:partialFilePath];
}
}
return audioPathArray;
}
我担心“isEqualToString:”部分会遗漏一些东西。有没有更好的方法来实现这一目标?
答案 0 :(得分:0)
My worry is that the "isEqualToString:" parts will miss some things
你是什么意思?
您的方法没有任何问题,但在比较之前使用lowercaseString
更好地转换扩展名,以确保它能够处理大小写敏感。