问题出现在设备上而不是模拟器上。
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"Plist1.plist"];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSLog(@"documentsDirectory --- %@", documentsDirectory);
NSLog(@"path --- %@", path);
@try
{
if (![fileManager fileExistsAtPath:path])
{
[fileManager copyItemAtPath:documentsDirectory toPath:path error:&error];
}
}
@catch (NSException *exception)
{
NSLog(@" [exception description] -- %@", [exception description]);
}
@finally {
}
[dictEmot writeToFile:path atomically:YES];
// To verify
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:path];
NSLog(@"[dict allKeys] My plist ----- %@", [dict allKeys]);
以上是我为在文档目录中保存两个 plist 文件而编写的代码。我用来保存第二个 plist 的方法相同。
[self savePlist:plist1];
[self savePlist:plist2];
我的问题是,每当我尝试保存第二个 plist 时,它会在文档目录中创建文件夹层次结构,并且也不会保存我的 plist2 文件及其内容。
一旦完成第二个方法调用,我的应用程序文档目录如下所示,
Documents
-> plist1
-> plist1
.
.
.
-> plist1
-> plist1
other files
我也在主线程上做,但结果相同。
它甚至没有打印异常。
- 我的错误是什么?
- 为什么它创建层次结构?