区分 .app/.xcodeproj 和 Cocoa 中的实际文件夹
Distinguish things like .app/.xcodeproj and actual folders in Cocoa
我正在尝试构建一个替代文件管理器,其工作方式类似于 Cocoa 中的默认 Finder。
你可以想象,应用程序需要显示某个目录中的files/subfolders列表,当用户点击一个项目时,它会检查用户点击的是文件夹还是文件.如果它是一个文件夹,应用程序只显示该文件夹的内容。如果是文件,将使用默认应用程序打开。
我使用 NSFileManager.fileExists(atPath:isDirectory:)
来确定某个路径中的项目是否为文件夹。这在大多数情况下效果很好,但对于 something.app
或 project.xcodeproj
之类的内容,根据该方法,它们也被视为目录。
我知道从技术上讲它们确实只是文件夹,但是 Cocoa 中有没有办法将它们与实际文件夹区分开来?
- 使用
(NS)URL
.
- 通过
resourceValues(forKeys
获取资源键 isDirectoryKey
和 isPackageKey
的值。
如果捆绑 isPackage
是 true
。
我正在尝试构建一个替代文件管理器,其工作方式类似于 Cocoa 中的默认 Finder。
你可以想象,应用程序需要显示某个目录中的files/subfolders列表,当用户点击一个项目时,它会检查用户点击的是文件夹还是文件.如果它是一个文件夹,应用程序只显示该文件夹的内容。如果是文件,将使用默认应用程序打开。
我使用 NSFileManager.fileExists(atPath:isDirectory:)
来确定某个路径中的项目是否为文件夹。这在大多数情况下效果很好,但对于 something.app
或 project.xcodeproj
之类的内容,根据该方法,它们也被视为目录。
我知道从技术上讲它们确实只是文件夹,但是 Cocoa 中有没有办法将它们与实际文件夹区分开来?
- 使用
(NS)URL
. - 通过
resourceValues(forKeys
获取资源键isDirectoryKey
和isPackageKey
的值。
如果捆绑 isPackage
是 true
。