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


Swift Optional ~=(_:_:)用法及代码示例

操作符

~=(_:_:)

返回一个布尔值,指示参数是否匹配 nil

声明

static func ~= (lhs: _OptionalNilComparisonType, rhs: Wrapped?) -> Bool

参数

lhs

nil 文字。

rhs

nil 匹配的值。

详述

即使包装值的类型不符合 Equatable 协议,您也可以使用 pattern-matching 运算符 (~=) 来测试可选实例是否为 nil。 pattern-matching 运算符在case 语句内部用于模式匹配。

以下示例将stream 变量声明为假设的DataStream 类型的可选实例,然后使用switch 语句来确定流是nil 还是具有配置的值。在评估switch 语句的nil 情况时,会在后台调用此运算符。


var stream: DataStream? = nil
switch stream {
case nil:
    print("No data stream is configured.")
case let x?:
    print("The data stream has \(x.availableBytes) bytes available.")
}
// Prints "No data stream is configured."

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

相关用法


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