2011-03-15 47 views
1

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

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

也许归档和取消归档或其他想法?谢谢

回答

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

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

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

@end // PasteboardGoodies