iphone - NSFileManager - 在启动时复制文件

标签 iphone cocoa document nsfilemanager copying

我需要从应用程序的资源文件夹中复制一些示例文件,并将它们放在应用程序的文档文件夹中。我想出了附加的代码,它编译得很好,但不起作用。我引用的所有目录都存在。我不太确定我做错了什么,有人可以指出我正确的方向吗?

NSFileManager*manager = [NSFileManager defaultManager];

NSString*dirToCopyTo = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];

NSString*path = [[NSBundle mainBundle] resourcePath];

NSString*dirToCopyFrom = [path stringByAppendingPathComponent:@"Samples"];


NSError*error;

NSArray*files = [manager contentsOfDirectoryAtPath:dirToCopyFrom error:nil];

for (NSString *file in files)
{
        [manager copyItemAtPath:[dirToCopyFrom stringByAppendingPathComponent:file] toPath:dirToCopyTo error:&error];

        if (error)
        {
            NSLog(@"%@",[error localizedDescription]);
    }
}

编辑:我刚刚按照应有的方式编辑了代码。然而现在还有另一个问题:

2010-05-15 13:31:31.787 WriteIt Mobile[4587:207] DAMutableDictionary.h 2010-05-15 13:31:31.795 WriteIt Mobile[4587:207] FileManager Error:Operation could not be completed. File exists

编辑:我通过告诉 NSFileManager 复制文件的目标名称解决了该问题。

        [manager copyItemAtPath:[dirToCopyFrom stringByAppendingPathComponent:file] toPath:[dirToCopyTo stringByAppendingPathComponent:file] error:&error];

最佳答案

我认为问题出在这一行:

NSArray*files = [manager contentsOfDirectoryAtPath:dirToCopyTo error:nil];

您正在列出目标目录而不是源目录中的文件。将其更改为:

NSArray*files = [manager contentsOfDirectoryAtPath:dirToCopyFrom error:nil];

你应该没问题。

关于iphone - NSFileManager - 在启动时复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2839949/

相关文章:

cocoa - 允许 bundle /插件添加到 Cocoa 应用程序支持的文档扩展中吗?

iphone - 我需要在xcode4.2中恢复dealloc吗?

ios - 动画类卡片app iphone

objective-c - Osascript - 无输出

javascript - 使用 $(document).click 后 jQuery 函数不起作用

java - 使用 JDOM 创建简单文档

iphone - 将不同的图像设置到 uitableview 单元格

ios - 双击时如何切换到前置摄像头(SWIFT)

cocoa - NSTableView 崩溃

cocoa - 全局禁用 cmd+tab 应用程序切换器