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

waitUntilFinished()

Blocks execution of the current thread until the operation object finishes its task. そのオペレーションオブジェクトがそれのタスクを終了するまで現在のスレッドの遂行を遮断します。

Declaration 宣言

func waitUntilFinished()

Discussion 議論

An operation object must never call this method on itself and should avoid calling it on any operations submitted to the same operation queue as itself. Doing so can cause the operation to deadlock. Instead, other parts of your app may call this method as needed to prevent other tasks from completing until the target operation object finishes. It is generally safe to call this method on an operation that is in a different operation queue, although it is still possible to create deadlocks if each operation waits on the other. オペレーションオブジェクトは、このメソッドを決してそれ自身の上で呼び出してはいけません、そしてそれ自身と同じオペレーションキューに提出されるあらゆるオペレーションの上でそれを呼び出すことを避けるべきです。そうすることは、そのオペレーションを膠着状態にする原因となりえます。代わりに、あなたのアプリの他の部分はこのメソッドを必要に応じて呼び出して、他のタスクが完了するのを妨げるかもしれません、目標オペレーションオブジェクトが終了するまでは。一般的に安全なのは、このメソッドを異なるオペレーションキューの中にあるオペレーション上で呼び出すことです、とはいえそれは依然として膠着状態を作成することが可能です、もし各オペレーションが他方を待つならば。

A typical use for this method would be to call it from the code that created the operation in the first place. After submitting the operation to a queue, you would call this method to wait until that operation finished executing. このメソッドの典型的な使い方は、それをまず始めにオペレーションを作成したコードから呼び出すことになるでしょう。オペレーションをキューに提出後、あなたはこのメソッドを呼び出すことでそのオペレーションが遂行を終了するまで待機するでしょう。