当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Swift Result.Publisher first(where:)用法及代码示例


实例方法

first(where:)

发布流的第一个元素以满足谓词闭包,然后正常结束。

声明

func first(where predicate: @escaping (Self.Output) -> Bool) -> Publishers.FirstWhere<Self>

返回值

仅发布满足谓词的流的第一个元素的发布者。

参数

predicate

一个闭包,它接受一个元素作为参数并返回一个布尔值,指示是否发布该元素。

详述

使用Publisher/first(where:) 仅重新发布满足您指定的闭包的流的第一个元素。发布者忽略第一个满足闭包并正常完成的元素之后的所有元素。如果这个发布者没有收到任何元素,它会在没有发布的情况下完成。

在下面的示例中,提供的闭包导致 Publishers/FirstWhere 发布者重新发布第一个接收到的大于 0 的元素,然后正常完成。


let numbers = (-10...10)
cancellable = numbers.publisher
    .first { $0 > 0 }
    .sink { print("\($0)") }


// Prints: "1"

可用版本

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

相关用法


注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Result.Publisher first(where:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。