我一直在读很多关于iPhone的读/写,我相信我所拥有的一切都是正确的,但由于某种原因,它的工作方式不合适。
代码如下
NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *filePath = [docsDirectory stringByAppendingFormat:@"filename.rtf"];
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath:filePath])
我进入了我正在制作的应用程序的iphone模拟器文件夹的文件夹,并将该文件作为安全措施添加到其中,但它仍然没有触发if语句。因此,由于某种原因,它没有发现它使我的所有写作和阅读都变得不可能。我甚至尝试使用FileManager的createFile函数,但没有得到任何结果。如果我需要发布更多代码的东西让我知道,但我想如果以上所有都是正确的,它应该正确找到文件。提前谢谢。
更新:已修复。非常简单的错误。谢谢大家。
答案 0 :(得分:3)
NSSearchPathForDirectoriesInDomains
返回的NSString没有尾部斜杠,因此您构建的路径不正确。要将文件名附加到使用stringByAppendingPathComponent
,它将正确处理路径分隔符。
要创建filePath,请尝试:
NSString *filePath =[docsDirector stringByAppendingPathComponent:@"filename.rtf"];
答案 1 :(得分:0)
您是否尝试过使用stringByAppendingPathComponent:
代替stringByAppendingFormat:
。如果docsDirectory不包含尾部斜杠,您实际上将创建一个名为/PATH/TO/Documentsfilename.rtf
而不是/PATH/TO/Documents/filename.rtf
的文件。