У меня есть NSOutlineView
, который отображает иерархию каталогов (не обязательно локальную). Я хочу отобразить значок для каждого элемента в списке, поэтому я использую метод NSWorkspace
-iconForFileType:
, поскольку я не могу использовать -iconForFile:
, поскольку путь не всегда локальный (может быть FTP, SFTP и т. Д.).
Когда я использую NSDirectoryFileType
, я получаю предупреждения, что в Snow Leopard это устарело. Как еще я могу добиться выполнения этой задачи?
По сути, мне нужен не осуждаемый способ получить значок для любого данного файла (и для каталога), учитывая только имя файла (и является ли он каталогом), а не полный локальный путь.
if ([(EDFileStoreItem *)item type] == EDFileStoreItemDirectory) {
// WARNING: Deprecated in OS X 10.6
[(EDImageAndTextCell *)cell setIconImage:[[NSWorkspace sharedWorkspace] iconForFileType:NSDirectoryFileType]];
}
ОБНОВЛЕНИЕ: Хорошо, я понял это:
NSImage *directoryIcon = [NSImage imageNamed:NSImageNameFolder];