NSWorkspace`icon(forFileType:`返回默认图标

问题描述 投票:0回答:2

NSWorkspace.shared.icon(forFileType:状态的文档:

/* 
 * Get the icon for a given file type.
 *
 * The file type may be a filename extension, or a HFS code encoded via NSFileTypeForHFSTypeCode, or a Universal Type Identifier (UTI).
 *
 * Returns a default icon if the operation fails.
 *
 */

// Swift
open func icon(forFileType fileType: String) -> NSImage

// Objective-C
- (NSImage *)iconForFileType:(NSString *)fileType;

注意:

如果操作失败,将返回默认图标。

如何判断操作是否“失败”并返回默认图标?

是否可以确定是否要返回默认图标进行昂贵的图像或数据比较?

macos appkit nsimage nsworkspace
2个回答
2
投票

经过快速测试后,看起来iconForFileType失败时,每次都会返回相同的指针。这是有道理的,因为它可能只是实习生对该“无文件类型”图像的单个共享引用。


0
投票

NSWorkspace扩展名,如果nil操作失败,则返回icon(forFileType:

© www.soinside.com 2019 - 2024. All rights reserved.