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

performExpiringActivity(withReason:using:)

Performs the specified block asynchronously and notifies you if the process is about to be suspended. 指定されたブロックを非同期に実行します、そしてプロセスがまさに一時停止されようとしているならばあなたに通知します。

Declaration 宣言

func performExpiringActivity(withReason reason: String, 
                       using block: @escaping (Bool) -> Void)

Parameters パラメータ

reason

A string used in debugging to indicate the reason the activity began. This parameter must not be nil or an empty string. デバッグにおいて使われてアクティビティを開始した理由を指し示す文字列。このパラメータは、nilや空の文字列であってはいけません。

block

A block containing the work to be performed by the activity. The block has no return value and takes the following parameter: アクティビティによって実行される仕事を含んでいるブロック。ブロックは、値を返しません、そして以下のパラメータをとります:

expired

A Boolean indicating whether the process is about to be suspended. If the value is true, the process is about to be suspended so you should take whatever steps are needed to stop in progress work. If it is false, start the planned tasks. プロセスがまさに一時停止されようとしているかどうかを指し示しているブール値。値がtrueならば、プロセスはまさに一時停止されようとしています、それであなたは、進行中の仕事を停止するために必要とされる措置はどんなものでも講じるべきです。それがfalseならば、計画されたタスクを始めてください。

Discussion 議論

Use this method to perform tasks when your process is executing in the background. This method queues block for asynchronous execution on a concurrent queue. When your process is in the background, the method tries to take a task assertion to ensure that your block has time to execute. If it is unable to take a task assertion, or if the time allotted for the task assertion expires, the system executes your block with the parameter set to true. If it is able to take the task assertion, it executes the block and passes false for the expired parameter. このメソッドを使ってタスクを実行してください、あなたのプロセスがバックグラウンドで遂行される場合は。このメソッドは、並行キュー上での非同期の遂行のためにblockをキューに入れます。あなたのプロセスがバックグラウンドにあるならば、このメソッドはあるタスクアサーションをとって、あなたのブロックが遂行する時間を持つことを確実にします。タスクアサーションをとることが不可能ならば、またはタスクアサーションのために割り当てられる時間が期限切れならば、システムはあなたのブロックをパラメータをtrueに設定して遂行します。タスクアサーションをとることが可能ならば、それはブロックを遂行します、そしてfalseをexpiredパラメータに対して渡します。

If your block is still executing and the system need to suspend the process, the system executes your block a second time with the expired parameter set to true. Your block must be prepared to handle this case. When the expired parameter is true, stop any in-progress tasks as quickly as possible. あなたのブロックがまだ遂行しているそしてシステムはプロセスの一時停止を必要とするならば、システムはあなたのブロックを次の機会にexpiredパラメータをtrueに設定して遂行します。あなたのブロックは、この事例を取り扱う準備ができていなければなりません。expiredパラメータがtrueである場合、あらゆる進行中のタスクを出来るだけ素早く停止してください。

See Also 参照

Managing Activities アクティビティ(活動状態)を管理する