Discussion
議論
When invoking these methods, declare a __block
variable before the accessor block and initialize it to a value that signals failure, and then inside the accessor block set it to a value that indicates success. If the coordinated operation fails, then the accessor block never runs. The sentinel variable still holds a value that indicates failure, and the NSError
out parameter contains a reference that describes the error.
これらのメソッドを発動する場合、__block
変数をアクセッサブロックの前に宣言してそれを失敗を合図するある値に初期化してください、それからアクセッサブロックの内部でそれを成功を指し示すある値に設定してください。協調演算が失敗するならば、そのときアクセッサブロックは決して実行されません。この見張りの変数は、依然として失敗を指し示すある値を保持します、そしてNSError
outパラメータは、エラーを記述するある参照を含みます。
You use this method to perform two write operations without the risk of those operations creating a deadlock. This method executes synchronously, blocking the current thread until the writer
block finishes executing. You may call the coordinate(writingItemAt:options:error:byAccessor:)
method from your writer
block. This method does the canonical lock ordering that is required to prevent a potential deadlock of the file operations.
あなたはこのメソッドを使うことで2つの書き出し演算を、それらの演算が膠着状態を作成する恐れなしに実行します。このメソッドは同期的に実行します、現在のスレッドをwriter
ブロックが実行をやり終えるまで遮断します。あなたは、coordinate(writingItemAt:options:error:byAccessor:)
メソッドをあなたのwriter
ブロックから呼び出すかもしれません。このメソッドは、正準ロック順序を行います、それはファイル演算それらの潜在的な膠着を防ぐために必要とされるものです。
This method makes the same calls to file presenters, and has the same general wait behavior, as the coordinate(writingItemAt:options:error:byAccessor:)
method.
このメソッドは、ファイルプレゼンタに同じ呼び出しをします、そして同じ一般的待機挙動を持ちます、coordinate(writingItemAt:options:error:byAccessor:)
のように。