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

perform(_:target:argument:order:modes:)

Schedules the sending of a message on the receiver. レシーバ上でメッセージの送信を予定します。

Declaration 宣言

func perform(_ aSelector: Selector, 
      target: Any, 
    argument arg: Any?, 
       order: Int, 
       modes: [RunLoop.Mode])

Parameters パラメータ

aSelector

A selector that identifies the method to invoke. This method should not have a significant return value and should take a single argument of type id. 発動するメソッドを識別するセレクタ。このメソッドは、重要な戻り値を持つべきではありません、そして型idの単一の引数をとるべきです。

target

The object that defines the selector in aSelector. aSelectorの中のセレクタを定義するオブジェクト。

anArgument

The argument to pass to the method when it is invoked. Pass nil if the method does not take an argument. メソッドに、それが発動されるときに渡される引数。メソッドが引数を取らないならばnilを渡してください。

order

The priority for the message. If multiple messages are scheduled, the messages with a lower order value are sent before messages with a higher order value. メッセージの優先度。複数のメッセージが予定されるならば、より低い順序値でのメッセージは、より高い順序値でのメッセージの前に送られます。

modes

An array of input modes for which the message may be sent. それでメッセージが送られるかもししれない入力モードいくつかからなるある配列。 You may specify custom modes or use one of the modes listed in Run Loop Modes.

Discussion 議論

This method sets up a timer to perform the aSelector message on the receiver at the start of the next run loop iteration. The timer is configured to run in the modes specified by the modes parameter. When the timer fires, the thread attempts to dequeue the message from the run loop and perform the selector. It succeeds if the run loop is running and in one of the specified modes; otherwise, the timer waits until the run loop is in one of those modes. このメソッドは、タイマーを準備して、aSelectorメッセージをレシーバ上で次の実行ループ反復の始まりで実行します。このタイマーは、modesによって指定されたのモードで実行されるように設定されます。タイマーが点火した場合、スレッドはこのメッセージを実行ループからデキューして(待ち行列からはずして)セレクタを実行しようとします。実行ループが動作していて指定されたモードの1つであるならばそれはうまくいきます;そうでなければタイマーは実行ループがこれらのモードの1つになるまで待ちます。

This method returns before the aSelector message is sent. The receiver retains the target and anArgument objects until the timer for the selector fires, and then releases them as part of its cleanup. このメソッドは、aSelectorメッセージが送られる前に返ります。レシーバは、targetおよびanArgumentオブジェクトをセレクタに対するタイマーが発火するまで保持します、そしてそれからそれらをそれのクリーンアップの一部として開放します。

Use this method if you want multiple messages to be sent after the current event has been processed and you want to make sure these messages are sent in a certain order. あなたが現在のイベントが処理されてしまった後で複数のメッセージが送信されるようにしたい、そしてそれらメッセージがある特定の順序で送られることをあなたが確実にしたいならば、このメソッドを使ってください。

See Also 参照

Scheduling and Canceling Tasks タスクそれらを予定および取り消しする