- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对服务菜单验证有一些疑问。我想根据是否在 Finder 中选择文件或文件夹来启用我的应用程序提供的不同服务。
我已将 NSFilenamesPboardType 设置为服务的发送类型。我已经完成了 - (id)validRequestorForSendType:(NSString *)sendType returnType:(NSString *)returnType 方法,但我的问题是那里的验证似乎是基于 sendType 和返回类型完成的。就我而言,选定的文件和文件夹粘贴板类型是相同的,并且在验证过程中我无法确定 Finder 中的选定项目是文件还是文件夹(这是在调用实际服务之前,即在服务菜单被调用时)向用户显示)?
所以我的问题是,有什么方法可以获取有关 Finder 中所选项目的一些信息,并根据有关该项目的一些信息而不是发送和发送的基本验证来验证我的应用程序提供的不同服务菜单。返回类型?
我无法找到任何方法来执行此操作,但 Snow Leopard 中的“文件夹操作”服务仅针对文件夹启用,因此可以完成此操作。我做了一个/System/Library/CoreServices/pbs -dump_pboard ,它使用 NSFilenamePBoardType 还设法仅激活文件夹。
提前感谢您的帮助。
最佳答案
要区分文件和文件夹,您可以在 NSFileManager 中使用以下内容:
fileExistsAtPath:isDirectory:
但是您需要有路径字符串。
关于Cocoa 服务编程 - 如何识别所选项目是 NSFilenamesPboardType 设置为发送类型的文件夹还是文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2430382/
我对服务菜单验证有一些疑问。我想根据是否在 Finder 中选择文件或文件夹来启用我的应用程序提供的不同服务。 我已将 NSFilenamesPboardType 设置为服务的发送类型。我已经完成了
迁移到 Swift4 后,以下代码引发编译错误: public final class MediaItemView: NSView { public override init(frame fr
我是一名优秀的程序员,十分优秀!