Instance Method インスタンスメソッド

coordinate(writingItemAt:options:writingItemAt:options:error:byAccessor:)

Initiates a write operation that involves a secondary write operation. 書き込み演算を開始します、それは副次的書き込み演算を伴います。

Declaration 宣言

func coordinate(writingItemAt url1: URL, 
        options options1: NSFileCoordinator.WritingOptions = [], 
  writingItemAt url2: URL, 
        options options2: NSFileCoordinator.WritingOptions = [], 
          error outError: NSErrorPointer, 
     byAccessor writer: (URL, URL) -> Void)

Parameters パラメータ

url1

A URL identifying the first file or directory to write. If other objects or processes are acting on the item at the URL, the actual URL passed to the block in the writer parameter may be different from the one in this parameter. 書き込むための第1のファイルまたはディレクトリを識別するURL。他のオブジェクトまたはプロセスがそのURLでの項目上で行動しているならば、writerパラメータのブロックに渡される実際のURLは、このパラメータのものと異なるかもしれません。

options1

One of the writing options described in NSFileCoordinator.WritingOptions. NSFileCoordinator.WritingOptionsで記述される書き込みオプションの1つ。

url2

A URL identifying the other file or directory to write. If other objects or processes are acting on the item at the URL, the actual URL passed to the block in the writer parameter may be different from the one in this parameter. 書き込みをするもう一方のファイルまたはディレクトリを識別するURL。他のオブジェクトまたはプロセスがそのURLでの項目上で行動しているならば、writerパラメータのブロックに渡される実際のURLは、このパラメータのものと異なるかもしれません。

options2

One of the writing options described in NSFileCoordinator.WritingOptions. The options you specify partially determine how file presenters are notified and how this file coordinator object waits to execute your block. NSFileCoordinator.WritingOptionsで記述される書き込みオプションの1つ。どのようにファイルプレゼンタが通知されるかそしてどのようにこのファイルコーディネータオブジェクトがあなたのブロックの実行に対して待機するかを、あなたがある程度決定するオプション。

outError

On input, a pointer to a pointer for an error object. If a file presenter encounters an error while preparing for this operation, that error is returned in this parameter and the block in the writer parameter is not executed. If you cancel this operation before the writer block is executed, this parameter contains an error object on output. 入力において、エラーオブジェクトに対するポインタへのポインタ。この演算に対して準備している間にファイルプレゼンタがエラーに出くわすならば、そのエラーはこのパラメータにおいて返されます、そしてwriterパラメータの中のブロックは実行されません。あなたがこの演算をwriterブロックが実行される前にキャンセルするならば、このパラメータは出力においてエラーオブジェクトを含みます。

writer

A Block object containing the write operations you want to perform in a coordinated manner. This block receives NSURL objects containing the URLs of the items to write and returns no value. Always use the URLs passed into the block instead of the values in the url1 and url2 parameters. あるBlockオブジェクト、あなたがある協調流儀で実行することを望む書き込み演算を含んでいます。このブロックは、書き出す項目のURLを含んでいるNSURLオブジェクトを受け取ります、そして値を返しません。常にブロックに渡されるURLを使ってください、url1およびurl2パラメータの中の値ではなく。

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:)のように。

See Also 参照

Coordinating File Operations Synchronously ファイル操作を同期的に協調させる(コーディネートする)