1

我正在尝试将多个文件复制到剪贴板,但我不确定我缺少什么。我写这个小程序只是为了测试把一个文件放到剪贴板上,但是运行之后,剪贴板上什么都没有。我看不到我错过了什么。这是我正在运行的代码:

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];
4

2 回答 2

1

在行上放一个断点:

[filesToCopy addObject:fileURL];

当它达到检查所涉及的变量时,看到问题了吗?

为了说服自己,您是正确的,然后再次检查变量。

高温高压

于 2013-11-10T19:41:20.833 回答
1

其实我现在觉得很傻。问题是该数组从未真正初始化过。我很惊讶没有抛出异常,因为 addObject 是在一个 nil 对象上完成的。线

    NSMutableArray *filesToCopy;

应该

NSMutableArray *filesToCopy = [[NSMutableArray alloc] init];
于 2013-11-11T00:41:51.783 回答