将字符串数组发送到NSPasteBoard

时间:2011-03-15 18:20:00

标签: cocoa nsarray nspasteboard

如何将最好的字符串或数字数组发送到粘贴板?

我尝试过使用[pasteBoard writeObjects:],但看起来我必须继承NSArray才能做到这一点,它会要求一个协议。

也许存档和取消归档或其他想法? 谢谢, 何。

2 个答案:

答案 0 :(得分:2)

首先将数组转换为字符串 接下来将其写入粘贴板。

NSMutableArray *array = [[NSMutableArray alloc]initWithObjects:@"First Line",@"Second Line",nil];
NSPasteboard * pasteBoard = [NSPasteboard generalPasteboard];
NSString * string = [array componentsJoinedByString: @"\n"];
[pasteBoard declareTypes:[NSArray arrayWithObject:NSStringPboardType] owner:nil];
[pasteBoard setString:string forType:NSStringPboardType];

答案 1 :(得分:1)

您可以向NSString添加类别以向粘贴板添加字符串:

@implementation NSString (PasteboardGoodies)
- (void) sendToPasteboard
{
        [[NSPasteboard generalPasteboard] 
            declareTypes: [NSArray arrayWithObject: NSStringPboardType]
            owner:nil];
        [[NSPasteboard generalPasteboard]
            setString: self
            forType: NSStringPboardType];
} // sendToPasteboard

@end // PasteboardGoodies