如何创建系统声明的文件夹UTType?调用NSWorkspace图标方法遇困惑
系统文件夹UTType创建与图标获取
要解决获取系统文件夹图标的问题,你可以直接利用系统预定义的UTType,或者通过标准UTI字符串初始化:
方法一:使用系统内置静态属性
系统已经为通用文件夹提供了现成的UTType实例,直接调用静态属性即可:
let folderType = UTType.folder let folderIcon = NSWorkspace.shared.icon(for: folderType)
方法二:通过UTI字符串初始化
如果需要通过UTI标识符创建,使用UTType(identifier:)构造方法,传入系统标准文件夹UTI public.folder:
guard let folderType = UTType(identifier: "public.folder") else { // 处理UTType初始化失败的场景 return } let folderIcon = NSWorkspace.shared.icon(for: folderType)
扩展:特定类型文件夹
如果需要获取特定类型文件夹的图标,可以使用对应的预定义UTType或UTI:
- 应用程序包文件夹:
UTType.applicationBundle(对应UTIcom.apple.application-bundle) - 文稿文件夹:通用场景下用
UTType.folder即可,若需更细分的容器类型可使用对应UTI
内容的提问来源于stack exchange,提问作者tgunr
相关产品推荐
相关产品推荐

