我希望将NSPasteboard.generalPasteboard()临时切换为由我的应用使用NSPasteboard.pasteboardWithUniqueName()生成的自定义选项

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

有没有办法做到这一点?

最佳答案

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

如果您只想更改自己应用程序中的行为,则可以在NSPasteboard中添加类别/扩展名,以添加返回常规粘贴板或应用程序专用粘贴板的方法。至少将逻辑隔离到一个地方。在代码的其他位置,您将使用自定义方法而不是+generalPasteboard

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

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

10-14 20:50