一个围绕流行的 mlabbe/nativefiledialog 库(由 Michael Labbe 编写)的精简 Swift 封装。
原生文件对话框是一个小巧、整洁的 C 语言库,可以移植地调用原生文件打开、文件夹选择和保存对话框。只需编写一次对话框代码,即可在所有支持的平台上弹出原生对话框。避免链接像 wxWidgets 和 qt 这样的大型依赖项。
IFileDialog
。// open single file dialog without filters
let result = NFD.OpenDialog()
switch result {
case let .success(path):
if let path = path {
// use path
} else {
// user canceled
}
case let .failure(error):
// an error has occured
}
您可以在 /Apps/NFD-Demo/NFD-Demo.xcodeproj
中找到 macOS 演示应用程序
每个文件对话框 API 中都有一种文件过滤形式,但没有一致的支持方式。NFD 提供对按扩展名组过滤文件的支持,并为其扩展名提供自己的描述(如果适用)。
通配符过滤器始终添加到每个对话框中。
txt
默认过滤器用于文本文件。下拉菜单中有一个通配符选项。
png,jpg;psd
默认过滤器用于 png 和 jpg 文件。第二个过滤器可用于 psd 文件。下拉菜单中有一个通配符选项。
nil
仅通配符。
版权所有 © 2014-2019 Frogtoss Games, Inc. 文件 LICENSE 涵盖此 repo 中的所有文件。
原生文件对话框,作者 Michael Labbe mike@frogtoss.com
Tomasz Konojacki,贡献了 microutf8
Denis Kolodin,贡献了 mingw 支持。
Tom Mason,贡献了 Zenity 支持。
可以在付费协议下从原始作者处获得针对此工作的定向支持。