Discussion
議論
Use this method to prepare the file coordinator for multiple read and write operations. Because file coordination requires interprocess communication, it is much more efficient to batch changes to large numbers of files and directories than to change each item individually. The file coordinator uses the values in the readingURLs
and writingURLs
parameters, together with reading and writing options, to prepare any relevant file presenters for the upcoming operations. Specifically, it uses these parameters in the same way as the coordinate(readingItemAt:options:error:byAccessor:)
and coordinate(writingItemAt:options:error:byAccessor:)
methods to determine which file presenter methods to call.
このメソッドを使って、ファイルコーディネータを複数の読み込みおよび書き出し演算に用意してください。ファイルコーディネータがプロセス間通信を必要とすることから、バッチが多くのファイルおよびディレクトリを変更する方が、各項目を個々に変更するよりも、もっとずっと効率的です。ファイルコーディネータは、readingURLs
およびwritingURLs
パラメータの中の値を、読み出しおよび書き込みオプションと一緒に使って、あらゆる関連するファイルプレゼンタを来るべき演算のために用意します。とりわけ、それはこれらパラメータをcoordinate(readingItemAt:options:error:byAccessor:)
およびcoordinate(writingItemAt:options:error:byAccessor:)
メソッドと同じ方法で使用して、どのファイルプレゼンタメソッドを呼び出すか決定します。
This method executes synchronously, blocking the current thread until the batchAccessor
block finishes executing. The block you provide for the batchAccessor
parameter does not perform the actual operations itself. Instead, you must call the individual coordinated read and write methods from inside the batchAccessor
block. You must then call the completion handler after all the coordinated reads and writes have completed. You can call the completion handler from any thread.
このメソッドは同期的に実行します、現在のスレッドをbatchAccessor
ブロックが実行を終えるまで遮断します。あなたがbatchAccessor
パラメータに提供するブロックは、実際の演算それ自身を実行しません。代わりに、あなたは個々の協調読み出しおよび書き込みをbatchAccessor
ブロックの内側から呼び出さなければなりません。あなたは、それから完了ハンドラを全ての協調読み出しおよび書き込みが完了してしまった後に呼び出さなければなりません。あなたは、完了ハンドラをどのスレッドからでも呼び出すことができます。
Don’t simply pass this method all the URLs that are passed into the nested coordinate methods. Instead pass only the top-level files and directories involved in the operation. This method triggers messages to the file presenters of those items and to the file presenters of any items contained by those items.
単純にこのメソッドを、入れ子にされた協調メソッドに渡される全てのURLに渡さないでください。代わりに演算に関わるトップレベルのファイルおよびディレクトリにだけ渡してください。このメソッドは、それら項目のファイルプレゼンタへのそしてそれら項目によって含まれるあらゆる項目のファイルプレゼンタへのメッセージを引き起こします。
In most cases, passing the same reading and writing options to both this method and the contained coordination operations is redundant. For example, it is often appropriate to pass withoutChanges
to nested read operations. This method has already triggered a call to savePresentedItemChanges(completionHandler:)
. The individual read operations do not need to trigger additional calls.
ほとんどの場合には、同じ読み出しおよび書き込みオプションを、このメソッドと含まれる協調演算の両方に渡すことは、冗長です。例えば、withoutChanges
を入れ子にされた読み出し演算それらに渡すことは大抵は適切です。このメソッドは、既にsavePresentedItemChanges(completionHandler:)
への呼び出しを引き起こしています。個々の読み出し演算は、追加の呼び出しを引き起こす必要はありません。