【问题标题】:The operation couldn’t be completed with writeToFile无法使用 writeToFile 完成操作
【发布时间】:2014-10-22 14:17:57
【问题描述】:

我有这段代码在我的 iphone 目录中创建了一个文本文件:

NSArray *paths = NSSearchPathForDirectoriesInDomains
    (NSDocumentDirectory, NSUserDomainMask, YES);

    NSString *documentsDirectory = [paths objectAtIndex:0];

    NSString *fileName = [NSString stringWithFormat:@"%@/file.txt",
                          documentsDirectory];

    NSString *content = @"my first text";

    NSError *error;

    if ([[NSFileManager defaultManager] fileExistsAtPath:fileName] == NO) {

    [content writeToFile:fileName
              atomically:YES
                encoding:NSStringEncodingConversionAllowLossy
                   error:&error];

    }else{

        [content writeToFile:fileName
                  atomically:YES
                    encoding:NSStringEncodingConversionAllowLossy
                       error:&error];

    }

代码一直运行良好,直到某个时间不再运行,并返回以下错误:

Error Domain=NSCocoaErrorDomain Code=517 "无法进行操作 完全的。 (可可错误 517。)“用户信息 = 0x8c852b0 {NSFilePath=/Users/williamlima/Library/Application Support/iPhone 模拟器/7.1/Applications/B5781B9E-3915-4656-83D4-5E0FB6486567/Documents/file.txt, NSStringEncoding=1}

我该如何解决这个问题?

【问题讨论】:

    标签: objective-c nsfilemanager


    【解决方案1】:

    我的两分钱:

    Ozgur 修复工作在 Mojave 10.4 中使用 Xcode 10 中的 objC,解决了错误。

    【讨论】:

      【解决方案2】:

      你可以试试 UTF8Encoding

      [content writeToFile:fileName
                    atomically:YES
                      encoding: NSUTF8StringEncoding
                         error:&error];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-27
        • 1970-01-01
        • 2013-10-31
        • 2013-07-25
        • 2012-12-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多