我正在尝试将多个文件复制到剪贴板,我不确定我缺少什么。我写这个小程序只是为了测试把一个文件放在剪贴板上,但是在它运行之后,剪贴板上什么都没有。我看不出我错过了什么。这是我正在运行的代码:
NSPasteboard *pasteboard = [NSPasteboard generalPasteboard];
NSInteger changeCount = [pasteboard clearContents];
NSMutableArray *filesToCopy;
NSString* pathToFile = @"/Users/user/Downloads/file1.jpg";
NSURL* fileURL = [[NSURL alloc] initFileURLWithPath:pathToFile];
[filesToCopy addObject:fileURL];
BOOL OK = [pasteboard writeObjects:filesToCopy];
答案 0 :(得分:1)
在线上放置一个断点:
[filesToCopy addObject:fileURL];
到达时,检查所涉及的变量,看问题?
为了说服自己,你是正确的跨过声明,然后再次检查变量。
HTH
答案 1 :(得分:1)
实际上,我现在觉得很傻。问题是数组从未实际初始化。我很惊讶没有抛出异常因为addObject是在一个nil对象上完成的。这条线
NSMutableArray *filesToCopy;
应该是
NSMutableArray *filesToCopy = [[NSMutableArray alloc] init];