iPhone模拟器-写入文件/读取问题

iPhone模拟器-写入文件/读取问题,iphone,file,ios-simulator,nsfilemanager,Iphone,File,Ios Simulator,Nsfilemanager,我在iPhone上读了很多读/写的东西,我相信我所拥有的一切都是正确的,但由于某些原因,它并没有按应有的方式工作 代码如下 NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString *filePath = [docsDirectory stringByAppendingFormat:@"f

我在iPhone上读了很多读/写的东西,我相信我所拥有的一切都是正确的,但由于某些原因,它并没有按应有的方式工作

代码如下

NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *filePath = [docsDirectory stringByAppendingFormat:@"filename.rtf"];
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath:filePath])
我进入了我正在制作的应用程序的iphone simulator documents文件夹,并将该文件作为安全措施添加到其中,但它仍然没有触发if语句。因此,出于某种原因,我没有找到它,这使得我所有的写作和阅读都变得不可能。我甚至尝试使用FileManager的createFile函数,但没有得到任何结果。如果我需要发布更多的代码,让我知道,但我认为如果以上所有的都是正确的,它应该找到正确的文件。提前谢谢


更新:已修复。可笑的简单错误。谢谢大家。

您是否尝试过使用
stringByAppendingPathComponent:
而不是
stringByAppendingFormat:
。如果docsDirectory不包含尾随斜杠,您将实际创建一个名为
/PATH/TO/Documentsfilename.rtf
的文件,而不是
/PATH/TO/Documents/filename.rtf

NSSearchPathForDirectories Indomains
返回的NSString没有尾随斜杠,因此,您正在构建的路径是不正确的。若要将文件名附加到,请使用将正确处理路径分隔符的
stringByAppendingPathComponent

要创建文件路径,请尝试:

NSString *filePath =[docsDirector stringByAppendingPathComponent:@"filename.rtf"];