Мое приложение использует общий доступ к файлам iTunes. Пользователь может добавлять файлы в каталог документов.
Я должен прочитать эти файлы, но убедитесь, что они являются только изображениями, а не текстовыми файлами или другим "мусором".
Как я могу перебирать файлы в каталоге и распознавать только те, которые являются изображениями?
Я предполагаю, что мне придется сделать это как-то так:
NSMutableArray *retval = [NSMutableArray array];
NSArray *files = [fileManager contentsOfDirectoryAtPath:documentsDirPath error:&error];
if (files == nil) {
// error...
}
for (NSString *file in files) {
if ([file.pathExtension compare:@"png" options:NSCaseInsensitiveSearch] == NSOrderedSame) {
NSString *fullPath = [documentsDirPath stringByAppendingPathComponent:file];
[retval addObject:fullPath];
}
}
Но это плохо по некоторым причинам. Мне нужно HUUUUUGE if-предложение, чтобы поймать все возможные типы файлов изображений, и есть десятки из них.
Существует ли более разумный способ действительно собрать все файлы image , независимо от того, являются ли файлы .png, .bmp, .jpg, .jpeg, .jpeg2000, .tiff, .raw, .etc?
Я немного помню, что были какие-то атрибуты файла, которые указывали на общий тип файла. Был какой-то абстрактный ключ изображения, я верю. Но, может быть, есть еще лучший способ?