ios - 找不到包含我的保存数据的文件

标签 ios

我有一个 list 应用程序,我想保存项目的名称以及是否选中它们。
Xcode 告诉我我保存的文件必须在这里:

2012-11-11 20:24:42.726 Checklists[1459:c07] Documents directory /Users/astanciu/Library/Application Support/iPhone Simulator/6.0/Applications/F4A90B71-A8CF-4EF8-B628-508C8B50CAD0/Library/Documentation  
2012-11-11 20:24:42.728 Checklists[1459:c07] File path /Users/astanciu/Library/Application Support/iPhone Simulator/6.0/Applications/F4A90B71-A8CF-4EF8-B628-508C8B50CAD0/Library/Documentation/Checklists.plist

但是在库文件夹中我只有缓存和首选项。使用 Finder 无法在任何地方找到 Checklists.plist 文件。

我使用的是 Mountain Lion 10.8 和 Xcode 4.5.2。

代码:

-(void)saveChecklistItems
{
    NSMutableData *data = [[NSMutableData alloc] init];
    NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
    [archiver encodeObject:items forKey:@"ChecklistItems"];
    [archiver finishEncoding];
    [data writeToFile:[self dataFilePath] atomically:YES];
}

-(id)initWithCoder:(NSCoder *)aDecoder
{
    if(self = [super initWithCoder:aDecoder])
    {
        [self loadChecklistItems];
    }

    return self;
}

-(void)loadChecklistItems
{
    NSString *path = [self dataFilePath];
    if([[NSFileManager defaultManager] fileExistsAtPath:path])
    {
        NSData *data = [[NSData alloc] initWithContentsOfFile:path];
        NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
        items = [unarchiver decodeObjectForKey:@"ChecklistItems"];
    }
    else
    {
        items = [[NSMutableArray alloc] initWithCapacity:20];
    }
}

有人知道这里出了什么问题吗? 谢谢。

最佳答案

您没有显示用于确定self dataFilePath的代码。它似乎引用了非标准目录Library/Documentation

您打算在代码中使用 NSDocumentDirectory 常量而不是 NSDocumatationDirectory ,您必须确定路径,或者您需要在尝试之前确保该目录存在写入它。

关于ios - 找不到包含我的保存数据的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13334114/

相关文章:

iphone - 如何检测 UIImageView 的宽度和高度

php - 从 Swift 到 php 脚本的 Http post 请求

iphone - 单击 UIAlertView 时崩溃

ios - 三个比例 View 自动布局

iphone - 使用 NSLayoutConstraints 在 UITextView 中居中 UILabel

iphone - 如何使 three20 与 iOS 3.1 兼容?

ios - 隐藏状态栏 iOS

ios - 查看自定义设计

ios - 使用 Swift 4 在 WatchOS 中创建一个简单的计时器

ios - 嵌入 NSTextAttachment 时高 UILabel 中缺少的行