1

我一直在阅读大量关于 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 函数,但没有得到任何结果。如果我需要发布更多代码,请告诉我,但我认为如果以上所有内容都正确,则应该正确找到文件。提前致谢。

更新:已修复。非常简单的错误。感谢大家。

4

2 回答 2

3

返回的 NSStringNSSearchPathForDirectoriesInDomains没有尾部斜杠,因此您正在构建的路径不正确。将文件名附加到stringByAppendingPathComponent将正确处理路径分隔符的用途。

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

NSString *filePath =[docsDirector stringByAppendingPathComponent:@"filename.rtf"];
于 2010-04-27T21:37:04.380 回答
0

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

于 2010-04-27T21:35:35.130 回答