NSDirectoryFileType устарела.Какая замена? - PullRequest
1 голос
/ 17 ноября 2010

У меня есть 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];

1 Ответ

0 голосов
/ 17 ноября 2010
NSImage *directoryIcon = [NSImage imageNamed:NSImageNameFolder];

Доступно только в Snow Leopard, AFAIK.

...