我想将应用中的数据复制到Numbers或Excel表格中。数据主要由整数组成,但也包括一些图像。我尝试通过首先将数据放入NSTableView,然后通过以下方法将数据写入粘贴板来实现此目的:
- (BOOL)tableView:(NSTableView *)tv writeRowsWithIndexes:(NSIndexSet *)rowIndexes toPasteboard:(NSPasteboard*)pboard
{
NSArray * dataToPaste = [NSArray arrayWithObjects:[NSString stringWithFormat:@"%ld \t %ld \t %ld \t %ld \t %ld \t %ld \t %ld \t %ld \t",
data1,
data2,
data3,
data4,
data5,
data6,
data7,
data8],
[An NSImage], nil];
[pboard writeObjects:dataToPaste];
return YES;
}
如果我最后没有添加NSImage,那么所有数据都会被很好地复制,但是只要我将NSImage添加到数组中,只会复制图像,如果我添加了两个NSImage,那么只有第一个获得复制。我错过了什么?
任何想法都将不胜感激!
编辑:顺便说一句,我刚才意识到,即使是Numbers.app也没有设法将包含文本和图像的复制单元拖到Excel和TextEdit中。然而,在Numbers文件之间可以正常工作。答案 0 :(得分:0)
NSArray * dataToPaste = [NSArray arrayWithObjects:[NSString stringWithFormat:@“%ld \ t%ld \ t%ld \ t%ld \ t%ld \ t%ld \ t%ld \ t%ld \ t% @”, 数据1, 数据2, 数据3, DATA4, 数据5, DATA6, 数据7, DATA8] [An NSImage],无; [pboard writeObjects:dataToPaste];
对于图像使用“%@”格式说明符,对于NSnumber使用%ld,可能它将是解决方案。