Mar*_*ski 37 iphone file-io objective-c
在objective-c中以原子方式写入文件的文件有什么区别而不是,两者之间是否有任何性能差异?
提前致谢!
dra*_*ard 52
原子通常意味着操作 不能打断将完成或无效.在编写文件时,可以通过写入临时文件来完成,然后在写入完成时将原始文件替换为临时文件.
写入原子文件时发生崩溃意味着原始文件未被修改,并且存在可以删除的垃圾文件.正常写入时崩溃意味着预期的好文件已损坏.
性能方面,成本极低.在写入期间,您将拥有两个文件副本.文件替换是文件系统级别的非常简单的操作.
编辑:谢谢zneak
原子写入需要更多步骤 - 另外还会创建辅助文件。NSString 类参考解释:
\n\n\n\n\n如果是,则将接收器写入辅助文件,然后将辅助文件重命名为路径。如果为“否”,则接收器将直接写入路径。YES 选项保证该路径(如果存在)不会被损坏,即使系统在写入期间崩溃。
\n
以下是 pList 的示例:
\n\n[array writeToFile:path atomically:YES];\n
Run Code Online (Sandbox Code Playgroud)\n\n当“YES”时,即使您在 XCode 中运行代码多次,pList 也只会更新一次,
\n\n[array writeToFile:path atomically:NO];\n
Run Code Online (Sandbox Code Playgroud)\n\n当“否”时,它会根据您运行相同代码的次数进行更新(重复更新)。
\n 归档时间: |
|
查看次数: |
11310 次 |
最近记录: |