Type Method 型メソッド

publish(every:tolerance:on:in:options:)

Returns a publisher that repeatedly emits the current date on the given interval. 繰り返し現在の日付をこの与えられた間隔で発布するあるパブリッシャーを返します。

Declaration 宣言

static func publish(every interval: TimeInterval, tolerance: TimeInterval? = nil, on runLoop: RunLoop, in mode: RunLoop.Mode, options: RunLoop.SchedulerOptions? = nil) -> Timer.TimerPublisher

Parameters パラメータ

interval

The time interval on which to publish events. For example, a value of 0.5 publishes an event approximately every half-second. それでイベントを出版することになる時間間隔。例えば、0.5の値はおおよそ半秒おきに出版します。

tolerance

The allowed timing variance when emitting events. Defaults to nil, which allows any variance. イベントを発布している時に許可される時機変動。省略時にはnilになります、それはどのような変動も許可されます。

runLoop

The run loop on which the timer runs. それの上でタイマーが動作する実行ループ。

mode

The run loop mode in which to run the timer. それにおいてタイマーを実行することになる実行ループモード。

options オプション

Scheduler options passed to the timer. Defaults to nil. タイマーに渡されるスケジューラオプション。省略時にはnilになります。

Return Value 戻り値

A publisher that repeatedly emits the current date on the given interval. 繰り返し現在の日付をこの与えられた間隔で発布するパプリッシャー。

Discussion 議論

The return type, Timer.TimerPublisher, conforms to ConnectablePublisher, which means you must explicitly connect to the Timer publisher to begin publishing events. You can do this with a call to connect(), or by using autoconnect() to automatically connect when a subscriber attaches, as shown here: 戻り型、Timer.TimerPublisherは、ConnectablePublisherに準拠します、それはあなたが明示的にTimerパブリッシャーに接続してイベントの出版を開始しなければならないことを意味します。あなたはこれをすることが、connect()への呼び出しで、またはautoconnect()を使うことである定期購買者が所属する時に自動的に接続することによって可能です、ここで示されるように。


cancellable = Timer.publish(every: 1, on: .main, in: .common)
    .autoconnect()
    .sink() {
        print ("timer fired: \($0)")
}

Topics 話題

Declaring Publisher Topography パブリッシャーがよって立つ所を宣言する

Creating a Timer Publisher あるタイマーパブリッシャーを作成する

See Also 参照

Firing Messages as a Combine Publisher メッセージそれらをあるCombineパブリッシャーとして発火する