我有一个字典,其中包含 NSData
格式的图像、图像的大小以及图像的其他属性。如何将 NSDictionary
写入 NSPasteboard
?
我编写的代码如下:
NSPasteboard *pasteBoard = [NSPasteboard generalPasteboard];
[pasteBoard clearContents];
[pasteBoard writeObjects:[NSArray arrayWithObject:myDictionary];
编译后,它在控制台中抛出以下消息:
class __NSDictionaryM
的实例对于 NSPasteboard -writeObjects:
无效。 类 __NSDictionaryM
未实现 NSPasteboardWriting
协议(protocol)。
最佳答案
对象应实现协议(protocol)NSPasteboardWriting
以保存在pasteBoard服务器中。
Cocoa 框架类 NSString
、NSAttributedString
、NSURL
、NSColor
、NSSound
>、NSImage
和 NSPasteboardItem
实现此协议(protocol)。您可以使自定义类符合此协议(protocol),以便可以使用 NSPasteboard 的 writeObjects: 方法将该类的实例写入粘贴板。
为什么不这样做:
NSImage *image = ...;
NSArray *array = [NSArray arrayWithObject:image];
NSPasteboard *pasteBoard = [NSPasteboard generalPasteboard];
[pasteBoard writeObjects:array];
关于objective-c - 将 NSDictionary 写入 NSPasteboard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19153788/