Instance Property インスタンスプロパティ

publisher

A Combine publisher that publishes this instance’s value to each subscriber exactly once, if it has a value at all. あるCombineパブリッシャー、それはこのインスタンスのもつ値を各加入者に正確に一度だけ発行します、とにかくそれが値を持つならば。

Declaration 宣言

var publisher: Optional<Wrapped>.Publisher { get }

Discussion 解説

In the following example, the publisher for an Int? optional publishes its value once, then finishes normally: 以下の例において、あるInt?オプショナルに対するパブリッシャーは、それの値を一度だけ出版します、それから正常に終了します:


let optional1: Int? = 1
optional1.publisher
    .sink(receiveCompletion: { print("optional1 completed (\($0)).") },
          receiveValue: { print("optional1 = \($0)") }
    )


// Prints:
// optional1 = 1.
// optional1 completed (finished).

In contrast with the Just publisher, which always publishes a single value, this publisher might not send any values and instead finish normally if the optional’s output is nil. In the next example, an Int? optional that’s nil immediately sends the Subscribers.Completion.finished completion, without producing any values. 常にある単一の値を出版するJustパブリッシャーと対照的に、このパブリッシャーは全く値を送信しないで代わりに正常に終了するかもしれません、もしoutputnilであるならば。次の例において、あるInt?オプショナルでnilであるものは、直接にSubscribers.Completion.finished達成状態を送信します、何ら値を生み出すことなしに。


let optional2: Int? = nil
optional2.publisher
    .sink(receiveCompletion: { print("optional2 completed (\($0)).") },
          receiveValue: { print("optional2 = \($0)") }
    )


// Prints:
// optional2 completed (finished).

See Also 参照

Publishing an Optional オプショナルを発行する