objective-c - 如何将 NSOpenPanel 中的选择限制为特定文件名?

标签 objective-c cocoa nsopenpanel

当显示 NSOpenPanel 时,有没有办法将文件的选择限制为具有特定文件名的文件?我知道您可以通过设置 openPanel.allowedFileTypes 来限制文件类型,但对于特定功能,用户需要选择一个已知具有特定名称的文件 ( diallist.csv )。

我知道我可以在面板关闭后进行检查,但对我来说,首先不让用户选择 Not Acceptable 文件似乎对用户更友好。

最佳答案

您可以为 NSOpenPanel 设置委托(delegate):https://developer.apple.com/reference/appkit/nsopensavepaneldelegate

作为代理人,您可以验证和/或启用某些 URL:

- (BOOL)面板:(id)发件人shouldEnableURL:(NSURL *)url; 或者 - (BOOL)面板:(id)发件人validateURL:(NSURL *)url错误:(NSError * _Nullable *)outError;

关于objective-c - 如何将 NSOpenPanel 中的选择限制为特定文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40420877/

相关文章:

objective-c - Cocoa中如何从子类委托(delegate)方法调用父类(super class)委托(delegate)方法?

macos - 为什么我的应用程序有这么多页面错误?

objective-c - 为什么 NSOpenPanel/NSSavePanel 显示内存泄漏?

ios - Unwind segues 不适用于模态视图 Controller

ios - 动态改变 fetchedResultsController

mysql - 如何通过指向我的 Web 服务的 URL 存储和检索 NSImage 数据?

objective-c - 目录的安全范围书签

objective-c - SQLite表达式最大深度限制

objective-c - 在 ARC 上为原子属性创建 Setter Getter 时出错

objective-c - Swift 中的 NSOpenPanel 。如何打开?