1

将字符串或数字数组发送到粘贴板的最佳方式是什么?

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

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

4

2 回答 2

3

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

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];
于 2011-03-15T19:35:47.013 回答
1

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

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

@end // PasteboardGoodies
于 2011-03-15T19:35:18.413 回答