我试过以下
[[NSFileManager defaultManager] copyItemAtPath:@"whatever.txt"
toPath:@"/Volumes/MyDrive" error:©Error];
这给了我错误“操作无法完成。文件存在”
如果我尝试将它复制到“/Volumes/MyDrive/testFolder”,那么一切都复制到 testFolder 就好了。
我试过以下
[[NSFileManager defaultManager] copyItemAtPath:@"whatever.txt"
toPath:@"/Volumes/MyDrive" error:©Error];
这给了我错误“操作无法完成。文件存在”
如果我尝试将它复制到“/Volumes/MyDrive/testFolder”,那么一切都复制到 testFolder 就好了。
我试过以下
[[NSFileManager defaultManager] copyItemAtPath:@"whatever.txt" toPath:@"/Volumes/MyDrive" error:©Error];
这给了我错误“操作无法完成。文件存在”
首先,正如 KennyTM 已经告诉您的那样,错误消息告诉您问题的一个可能原因:文件已经存在。目的地不得存在;您必须删除它或为目的地指定不同的名称。
其次,问题还有另一个可能的原因:您只指定了目标文件夹,而不是完整的目标路径。您必须指定完整的目标路径,包括目标文件名。引用文档:
“复制文件时,目标路径必须以文件名结尾——没有隐式采用源文件名。”</p>
如果您希望副本具有路径名/Volumes/MyDrive/whatever.txt
,那就是您需要传递的路径名。
另外,在尝试查看错误对象之前不要忘记检查复制是否成功。如果复制失败,您应该只查看错误对象。
如果我尝试将它复制到“/Volumes/MyDrive/testFolder”,那么一切都复制到 testFolder 就好了。
我想你会发现它testFolder
实际上是一个文件——具体来说,它是whatever.txt 的副本。