实例方法
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(_:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。