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

relinquishPresentedItem(toReader:)

Notifies your object that another object or process wants to read the presented file or directory. 別のオブジェクトまたはプロセスがその提示されたファイルまたはディレクトリの読み出しを望むことを、あなたのオブジェクトに通知します。

Declaration 宣言

optional func relinquishPresentedItem(toReader reader: @escaping ((() -> Void)?) -> Void)

Parameters パラメータ

reader

A Block object that takes another block as a parameter and returns no value. The reacquirer block is one you pass to the reader block so that your object can be notified when the reader is done. If your object does not need to be notified, it can pass nil for the reacquirer block. あるBlockオブジェクト、それは別のブロックをパラメータとして取ります、そして値を返しません。reacquirerブロックは、あなたがreaderブロックに渡すものです、それであなたのオブジェクトはreaderが終わる時に通知されることができます。あなたのオブジェクトが通知される必要がないならば、それはnilreacquirerブロックに渡すことができます。

Discussion 議論

You use this method to provide an appropriate response when another object wants to read from your presented URL. For example, when this method is called, you might temporarily stop making changes to the file or directory. After taking any appropriate steps, you must execute the block in the reader parameter to let the waiting object know that it may now proceed with its task. If you want to be notified when the reader has completed its task, pass your own block to the reader and use that block to reacquire the file or URL for your own uses. あなたはこのメソッドを使うことで、別のオブジェクトがあなたの提示したURLから読み出したい場合に適切な応答を提供できます。例えば、このメソッドが呼び出される場合、あなたはファイルまたはディレクトリに変更をするのを一時的に中止するかもしれません。何らかの適切な措置を講じた後、あなたはreaderパラメータの中のブロックを実行することで、その待機しているオブジェクトにそれがもうそれのタスクに取りかかってよいことを知らせなければなりません。あなたが、readerがそれのタスクを完了した時に通知されたいならば、あなた独自のブロックをreaderに渡してください、そしてそのブロックを使ってファイルまたはURLをあなた自身の利用のために再獲得してください。

The following listing shows a simple implementation of this method that sets a Boolean flag that the file being monitored is not writable at the moment. After setting the flag, it executes the reader block and passes in yet another block for the reader to execute when it is done. 以下のコード出力は、このメソッドの単純な実装を示します、それはあるブールのフラグを、その監視されているファイルが今のところ書き込み可能でないと設定します。そのフラグを設定した後、それはreaderブロックを実行します、そしてそれが終わった時にreaderが実行するさらに別のブロックを渡します。


- (void)relinquishPresentedItemToReader:(void (^)(void (^reacquirer)(void))) reader
{
    // Prepare for another object to read the file.
   self.fileIsWritable = NO;
 
   // Now let the reader know that it can have the file.
   // But pass a reacquisition block so that this object
   // can update itself when the reader is done.
   reader(^{
      self.fileIsWritable = YES;
   });
}

Your implementation of this method is executed using the queue in the presentedItemOperationQueue property. Your reacquirer block is executed on the queue associated with the reader. このメソッドのあなたの実装は、presentedItemOperationQueueプロパティの中のキューを使って実行されます。あなたのreacquirer(再取得)ブロックは、readerと結びつけられるキュー上で実行されます。

See Also 参照

Relinquishing Managed Files 管理するファイルを手放す