🔰Optional Views
此篇討論如何用 SwiftUI 產生 Optional View 的一些方法。
利用 .map()
let value: Int? = 1
let view = value // Int?
.map { Text("\($0)") } // Text?直接使用 Optional View
import SwiftUI
// 📦 MyView<LeftContent, RightContent>
struct MyView<LeftContent: View, RightContent: View>: View {
let leftContent : LeftContent
let rightContent: RightContent? // ⭐️ Optional<RightContent>
// ⭐️ MyView(makeLeftContent: {}, makeRightContent: {})
init(
@ViewBuilder makeLeftContent : () -> LeftContent,
@ViewBuilder makeRightContent: () -> RightContent?
) {
self.leftContent = makeLeftContent()
self.rightContent = makeRightContent()
}
var body: some View { // MyView.Body
HStack { // HStack<TupleView<(L, R)>>
self.leftContent // L: LeftContent
self.rightContent // R: Optional<RightContent>
}
}
}其他方法
Last updated