有没有办法对源代码应用程序明确声明它将提供的NSPasteboard进行过滤?
我正在尝试在我的应用程序中序列化粘贴板数据.当另一个应用程序将RTF文件放在粘贴板上然后我要求可用类型时,我得到11种不同风格的RTF,从原始RTF到普通字符串到dyn.*值.
将所有数据保存到磁盘上的plist或原始数据通常不是问题,因为它非常小,但是当在粘贴板上放置任何相当大的图像时,产生的输出可能比源大几十倍数据(通过过滤可以获得多种TIFF和PICT数据).
我想尽可能地保存原始应用程序可用的内容.
约翰,你比我自己或与我一起工作的绅士更加敏锐,因为恐龙在地球上漫游,他一直在做Mac编程.我们都没有注意到你突出显示的文字......我不知道为什么.显然,在这个问题上开始的时间过长了.
虽然我接受了你的答案作为正确的答案,但它并没有完全回答我原来的问题.我一直在寻找一个办法来识别的口味,可以简单地将它们放置在粘贴板上成为其他口味和了解这些类型的最初是由供应商提供.走路时,类型列表将为我提供提供它们的应用程序的首选顺序,它不会告诉我哪些我可以安全地忽略,因为它们将在我稍后重新填充粘贴板时重新创建.
我得出结论,没有"好"的方法来做到这一点. [NSPasteboard declaredTypesFromOwner]
会很棒,但它不存在.