【发布时间】:2011-03-15 18:19:59
【问题描述】:
将字符串或数字数组发送到粘贴板的最佳方式是什么?
我尝试过使用 [pasteBoard writeObjects:] 但看起来我必须继承 NSArray 才能做到这一点,它需要一个协议。
也许归档和取消归档或其他想法? 谢谢, 何塞。
【问题讨论】:
标签: cocoa nsarray nspasteboard
将字符串或数字数组发送到粘贴板的最佳方式是什么?
我尝试过使用 [pasteBoard writeObjects:] 但看起来我必须继承 NSArray 才能做到这一点,它需要一个协议。
也许归档和取消归档或其他想法? 谢谢, 何塞。
【问题讨论】:
标签: cocoa nsarray nspasteboard
首先将数组转换为字符串。
接下来将其写入粘贴板。
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];
【讨论】:
您可以向 NSString 添加类别以将字符串添加到粘贴板:
@implementation NSString (PasteboardGoodies)
- (void) sendToPasteboard
{
[[NSPasteboard generalPasteboard]
declareTypes: [NSArray arrayWithObject: NSStringPboardType]
owner:nil];
[[NSPasteboard generalPasteboard]
setString: self
forType: NSStringPboardType];
} // sendToPasteboard
@end // PasteboardGoodies
【讨论】: