Ios Can';t保存并加载plist文件

Ios Can';t保存并加载plist文件,ios,plist,xcode6,nsfilemanager,Ios,Plist,Xcode6,Nsfilemanager,当我尝试使用以下方法创建plist文件(“Checklist.plist”)时,我在目录中看不到该文件。 为什么我看不到目录上的文件?如何解决此问题?您是否在文件中保存了一些内容 NSString *test = @"test"; [test writeToFile:[self dataFilePath] atomically:YES]; 如果您在模拟器中运行此操作,您可以记录此文件路径,然后打开finder,按cmd+shift+g粘贴文件路径,不包括Checklist.plist,只记录

当我尝试使用以下方法创建plist文件(“Checklist.plist”)时,我在目录中看不到该文件。


为什么我看不到目录上的文件?如何解决此问题?

您是否在文件中保存了一些内容

NSString *test = @"test";
[test writeToFile:[self dataFilePath] atomically:YES];
如果您在模拟器中运行此操作,您可以记录此文件路径,然后打开finder,按
cmd+shift+g
粘贴文件路径,不包括
Checklist.plist
,只记录文件路径,您将看到您刚刚创建的名为
Checklist.plist
的文件

这是我的全部代码:

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    NSArray *testArray = [NSArray arrayWithObjects:@"test", nil];
    [testArray writeToFile:[self dataFilePath] atomically:YES];
}
- (NSString *)documentsDirectory {
    NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths firstObject];
    return documentsDirectory; 
}

- (NSString *)dataFilePath {
    return [[self documentsDirectory] stringByAppendingPathComponent:@"Checklists.plist"];
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

调用-dataFilePath时不会创建该文件

要在文件中写入普通字符串,请使用:

NSError *e = nil;
[@"blabla" writeToFile:[self dataFilePath] atomically:YES encoding:NSUTF8StringEncoding error:&e];

NSError *e1 = nil;
NSString *fileContents = [NSString stringWithContentsOfFile:[self dataFilePath] encoding:NSUTF8StringEncoding error:&e1];

这两个错误都应为零,并且fileContents应包含原始字符串。

您所说的“看不见”是什么意思?您确定文件创建成功(未返回错误)吗?你在模拟器文件系统上找对位置了吗?这些方法不会创建任何东西。。。告诉我们你在哪里写文件我在运行程序时没有看到任何错误消息。是的。我曾试图使用类似的文件系统来查找文件#BenI已经更新了屏幕截图。你可以看到在磁盘上创建的Checklist.plist文件。但是当我转到目录时,我看不到任何文件,甚至看不到Library文件夹下的文档目录!是的。我在plist文件中保存了一些对象。我遵循了你提到的所有可能的方法,但都不起作用。谢谢。它起作用了!您能解释一下问题发生的原因吗?@MdRiduan因为您必须将某些内容保存到文件中,然后文件才会为您创建它。
NSError *e = nil;
[@"blabla" writeToFile:[self dataFilePath] atomically:YES encoding:NSUTF8StringEncoding error:&e];

NSError *e1 = nil;
NSString *fileContents = [NSString stringWithContentsOfFile:[self dataFilePath] encoding:NSUTF8StringEncoding error:&e1];