しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

SwiftUIのbuildifメソッドを確認する

SwiftUIでif文が使えるのはbuildIfに自動変換されていると聞いたのでbuildIfを見てみました

buildIfメソッドはViewBuilderのメソッドで下のようなものになります

extension ViewBuilder {
    public static func buildIf<Content>(_ content: Content?) -> Content? where Content : View
}

引数を見る限り、if文は下のように3項演算子に変換されているかと思われます
if文の中は複数のViewを配置できるので、buildBlockにしています

ViewBuilder.buildIf(1 == 1 ? ViewBuilder.buildBlock(Text("Hello1"), Text("Hello2")) : nil)

elseがある場合、buildEitherというメソッドが代わりに使われるようです

参考URL

【SwiftUI】宣言的アプローチを実現するViewBuilderの仕組み #iOS - Qiita