當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Swift Result.Publisher sink(receiveValue:)用法及代碼示例


實例方法

sink(receiveValue:)

將具有基於閉包行為的訂閱者附加到永不失敗的發布者。

聲明

func sink(receiveValue: @escaping ((Self.Output) -> Void)) -> AnyCancellable
FailureNever 時可用。

返回值

一個可取消的實例,當您結束接收值的分配時使用它。結果的重新分配將關閉訂閱流。

參數

receiveValue

在收到值時執行的關閉。

詳述

使用Publisher/sink(receiveValue:) 觀察發布者收到的值並將它們打印到控製台。該操作符隻能在流不失敗的情況下使用,即發布者的 Publisher/Failure 類型為 Never 時。

在此示例中, Range 發布者將整數發布到 Publisher/sink(receiveValue:) 運算符的 receiveValue 閉包,該閉包將它們打印到控製台:


let integers = (0...3)
integers.publisher
    .sink { print("Received \($0)") }


// Prints:
//  Received 0
//  Received 1
//  Received 2
//  Received 3

此方法創建訂閱者並在返回訂閱者之前立即請求無限數量的值。應保留返回值,否則將取消流。

可用版本

iOS 13.0+, iPadOS 13.0+, macOS 10.15+, Mac Catalyst 13.0+, tvOS 13.0+, watchOS 6.0+

相關用法


注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 Result.Publisher sink(receiveValue:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。