iphone - 创建 plist 文件 iOS 不工作

标签 iphone ios plist

我正在尝试创建一个 plist 文件,稍后我将在我的应用程序中写入该文件。在第一个 viewDidLoad 中我调用以下方法

-(void)createFavoritesFile{
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSError *error;
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *documentDBFolderPath = [documentsDirectory stringByAppendingPathComponent:@"data.plist"];

    if (![fileManager fileExistsAtPath:documentDBFolderPath])
    {
        NSLog(@"file doesnt exist");
        NSString *resourceDBFolderPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"data.plist"];
        [fileManager copyItemAtPath:resourceDBFolderPath toPath:documentDBFolderPath error:&error];
    }
    else{
        NSLog(@"file exists");
    }
}

但是每次我运行应用程序时,我都找不到创建的文件,如果我关闭应用程序并重新打开,NSLog 会再次显示该文件不存在。我错过了什么吗?

最佳答案

您忽略了 -copyItemAtPath:toPath:error: 的返回值和错误。我敢打赌该调用将返回 NO 并填充一些错误。您应该检查它的返回值,如果返回NO,则打印出错误。

失败的一个可能原因是,出于某种原因,您可能实际上还没有文档文件夹。您可以要求 NSFileManager 为您创建它。

关于iphone - 创建 plist 文件 iOS 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13148396/

相关文章:

ios - 为什么此代码适用于 iPhone 5、4 和 4s 而不是 5s?

iphone - 将多个 XML 文件解析为一个或多个对象类?

ios - JSON 文件直到 UITableView 才加载

objective-c - 如何在 iOS 5 的 Info.plist 中创建 UIBackgroundModes 键

ios - iOS 应用程序中的动态设置放置

iphone - TableView 加载错误的单元格

iphone - 哪种方法用于注册推送通知的设备 token ?

ios - 当我在搜索栏中键入以检索 Google 图书信息时,我的表格 View 没有重新加载

ios - 如何在 swift 中将贴纸 View 添加到浏览器 View ?

iphone - xcconfig 中的环境变量不会在 Settings.bundle/Root.plist 中展开