我必须在这里遗漏一些明显的东西,但我似乎找不到答案。基本上,我曾经有将文件写入应用程序文档目录的代码。该代码看起来像
- (NSString *)applicationDocumentsDirectory {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
return documentsDirectory;
}
// 在另一个方法中实际编写代码
NSString *manifestPath = @"manifest.txt";
[manifestData writeToFile:manifestPath options:NSDataWritingAtomic error:&error];
所以这很好用。现在我想在文档目录中创建一个新文件夹并写入该文件夹。所以要创建我的新文件夹,我这样做:
NSFileManager *fileManager = [NSFileManager defaultManager];
BOOL isDir;
NSString *directoryPath = [[self applicationDocumentsDirectory] stringByAppendingPathComponent:@"testDir"];
NSError *error = nil;
if (![fileManager fileExistsAtPath:directoryPath isDirectory:&isDir]) {
if (!isDir) {
[fileManager createDirectoryAtPath:directoryPath withIntermediateDirectories:NO attributes:nil error:&error];
}
}
那部分工作正常。
不起作用的部分是当我想创建新的 manifestPath 以转到该目录并写入该目录时。我试过了
NSString *manifestPath = [[[self applicationDocumentsDirectory] stringByAppendingPathComponent:directoryPath] stringByAppendingPathComponent:@"manifest.txt"]];
或者
NSString *manifestPath = [[self applicationDocumentsDirectory] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@/manifest.txt", directoryPath];
我是否遗漏了路径或目录的工作方式?我不断收到 Cocoa 错误 4。当我打印出路径时,我的路径看起来也正确。(iOS模拟器目录/testDir/manifest.txt)
我在这里错过了什么吗?谢谢。