objective-c - 全局替换 NSPasteboard.generalPasteboard()

标签 objective-c macos cocoa swift nspasteboard

我希望将 NSPasteboard.generalPasteboard() 暂时切换为我的应用使用 NSPasteboard.pasteboardWithUniqueName() 生成的自定义版本

这样,当用户在切换粘贴板时按下 Cmd+C/Cmd+V 时,将使用我的应用程序的粘贴板而不是通用的粘贴板。

有办法做到这一点吗?

最佳答案

不,没有办法做到这一点。

如果您只想更改自己的应用内的行为,则可以向 NSPasteboard 添加类别/扩展,以添加返回通用粘贴板或应用的私有(private)粘贴板的方法。这至少将逻辑隔离到一处。在代码的其他地方,您可以使用自定义方法而不是 +generalPasteboard

如果您也想改变其他应用程序的行为,那么您就不走运了。您想要实现的更高层次的目标是什么?为什么要更改使用哪些粘贴板应用程序?如果您对此进行解释,也许还有另一种方法可以实现该目标。

关于objective-c - 全局替换 NSPasteboard.generalPasteboard(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28782643/

相关文章:

ios - 如何获取周一、周二等工作日的本地化字符串表示形式?

iPhone 数据表单提交最佳实践?

linux - 识别在 Mac OSX 和 Linux 中导出 PATH 更新的位置,而不管终端

cocoa - 类似 iPhoto 的图像裁剪?

python - pip 安装 MySQL-python

macos - Mac OSX的构建问题

cocoa - 如何在不改变当前内容的情况下改变 NSTextView 的字体?

ios - 创建一个不断扩大的圈子 iOS

ios - 自 iOS 13.4 起不再显示购买对话框

ios - XCode:以编程方式添加具有特定名称和动画的多个按钮