【问题标题】:how do we know that the writing file is done [duplicate]我们如何知道写入文件已完成[重复]
【发布时间】:2014-03-18 04:15:10
【问题描述】:

我正在从服务器下载图像并保存在本地 [imageData writeToFile:filePath atomically:YES]; 但是我怎么知道什么时候写完来更新 UI。我搜索了回电,但找不到任何东西。

我们如何知道写入文件何时完成?

【问题讨论】:

    标签: ios objective-c uiimage nsfilemanager nsdocument


    【解决方案1】:
    - (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;
    

    返回布尔值。

    如果您怀疑上述方法是否返回写入启动成功,请使用以下方法写入一个文件,其中您有 errorPtr 作为 Out 参数。 如果 paramOut 为 nil,则您已成功写入文件。

     - (BOOL)writeToFile:(NSString *)path options:(NSDataWritingOptions)writeOptionsMask error:(NSError **)errorPtr;
    

    【讨论】:

    • 我只用这个。但问题是,如果它成功开始写入文件,它将返回。我不认为它会在写完后返回。
    • @Mohan 修改答案
    • 还是同样的问题。我认为这是异步调用。
    • 什么时候做一些文件读写操作。在主线程中这样做是安全的。
    • 如果我的文件很大,那么在 main therad 中写入文件会导致糟糕的用户体验。
    【解决方案2】:
    • (BOOL)writeToURL:(NSURL *)aURL atomically:(BOOL)atomically

    返回值 操作成功则为YES,否则为NO。

    【讨论】:

      猜你喜欢
      • 2010-10-08
      • 1970-01-01
      • 2015-07-13
      • 1970-01-01
      • 2011-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-01
      相关资源
      最近更新 更多