【问题标题】:iPhone Simulator - Writing to File/Reading problemsiPhone 模拟器 - 写入文件/读取问题
【发布时间】:2011-02-13 02:16:52
【问题描述】:

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

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

【问题讨论】:

    标签: iphone file ios-simulator nsfilemanager


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-23
        • 2011-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多