2012-03-02 2 views
3

Проще говоря, как извлекать удобочитаемую строку (например, «Portable Network Graphics») для типа идентификатора, найденного в массиве, возвращаемом [NSImage imageTypes] (например, «public.png» или «public.png», com.microsoft.bitmap ")? Я прочитал различные части документации для универсальных идентификаторов типов, но ничего не нашел. Я лаяю неправильное дерево?Человекочитаемые строки для идентификаторов [NSImage imageTypes]?

ответ

2

Я думаю UTTypeCopyDescription() делает то, что вы ищете:

NSArray *types = [NSImage imageTypes]; 
for (NSString *type in types) { 
    NSString *desc = (NSString *)UTTypeCopyDescription((CFStringRef)type); 
    NSLog(@"description for %@: %@", type, desc); 
    [desc release]; 
} 

Выход:

Описание com.adobe.pdf: Portable Document Format (PDF)
описание для ком. apple.pict: Изображение QuickDraw
описание для com.adobe.encapsulated-postscript: Encapsulated PostScript
описание для public.jpeg: изображение в формате JPEG
Описание public.png: Portable Network Graphics изображения
Описание com.compuserve.gif: Graphics Interchange Format (GIF)
описание public.jpeg-2000: JPEG 2000 изображений
Описание com.canon.tif -raw-изображение: Canon TIF сырым изображение
описание com.adobe.raw-изображение: Adobe сырым изображение
и т.д ....