私は次のことをしようとしています:
- ファイルの属性を読み取る
- 属性が特定の条件に一致する場合は、ファイルを削除します
現在、私はに続いてNSFileManager
を実行するために使用しています。2つの操作の間に、最初のチェックを無効にする何かが発生するのではないかと心配しています。attributesOfItemAtPath:error:
removeItemAtPath:error:
これらの2つの操作をアトミックにするための最良の方法は何ですか?
編集
これまでの回答は、私が調べてみたファイルロックを示唆しています。私が見つけた最も近いものはNSFileImmutable
旗を立てることでした。しかし、他のプログラムがやって来て、設定を解除し、ファイルを変更する可能性があるようです。ファイルをロックするためのより良い方法はありますか?
編集2
誰かがユースケースを求めました。2つのフォルダの同期を維持しようとしているとしましょう。一方のフォルダ内のファイルに加えられた変更は、もう一方のフォルダに反映され、その逆も同様です。フォルダAからファイル1を削除すると、フォルダBからもファイル1が削除されます。ただし、フォルダBのファイル1が変更されると、削除する直前に変更されます。次に、削除する代わりに、フォルダーAに同期して戻します。