實例方法
flat
flatMap(_:)
當此
Optional
實例不是 nil
時評估給定的閉包,將展開的值作為參數傳遞。聲明
func flatMap<U>(_ transform: (Wrapped) throws -> U?) rethrows -> U?
返回值
給定閉包的結果。如果此實例是 nil
,則返回 nil
。
參數
transform
一個閉包,它接受實例的展開值。
詳述
使用帶有返回可選值的閉包的flatMap
方法。此示例對可選整數執行算術運算,並具有可選結果。
let possibleNumber: Int? = Int("42")
let nonOverflowingSquare = possibleNumber.flatMap { x -> Int? in
let (result, overflowed) = x.multipliedReportingOverflow(by: x)
return overflowed ? nil : result
}
print(nonOverflowingSquare)
// Prints "Optional(1764)"
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
相關用法
- Swift Optional flipsForRightToLeftLayoutDirection(_:)用法及代碼示例
- Swift Optional fullScreenCover(isPresented:onDismiss:content:)用法及代碼示例
- Swift Optional focusSection()用法及代碼示例
- Swift Optional focused(_:equals:)用法及代碼示例
- Swift Optional fixedSize()用法及代碼示例
- Swift Optional focused(_:)用法及代碼示例
- Swift Optional fullScreenCover(item:onDismiss:content:)用法及代碼示例
- Swift Optional frame(width:height:alignment:)用法及代碼示例
- Swift Optional focusedSceneValue(_:_:)用法及代碼示例
- Swift Optional fixedSize(horizontal:vertical:)用法及代碼示例
- Swift Optional font(_:)用法及代碼示例
- Swift Optional foregroundStyle(_:)用法及代碼示例
- Swift Optional symbolVariant(_:)用法及代碼示例
- Swift Optional popover(isPresented:attachmentAnchor:arrowEdge:content:)用法及代碼示例
- Swift Optional mask(alignment:_:)用法及代碼示例
- Swift Optional listSectionSeparatorTint(_:edges:)用法及代碼示例
- Swift Optional badge(_:)用法及代碼示例
- Swift Optional keyboardType(_:)用法及代碼示例
- Swift Optional clipShape(_:style:)用法及代碼示例
- Swift Optional preferredColorScheme(_:)用法及代碼示例
- Swift Optional background(_:ignoresSafeAreaEdges:)用法及代碼示例
- Swift Optional saturation(_:)用法及代碼示例
- Swift Optional overlay(alignment:content:)用法及代碼示例
- Swift Optional colorMultiply(_:)用法及代碼示例
- Swift Optional confirmationDialog(_:isPresented:titleVisibility:presenting:actions:message:)用法及代碼示例
注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 Optional flatMap(_:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。