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


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 ~=(_:_:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。