tsonobe1 / SwiftUIPlayGround

0 stars 0 forks source link

What is the @_functionBuilder ? #4

Open tsonobe1 opened 2 years ago

tsonobe1 commented 2 years ago

SwiftのコードをDSL方式で記述できるようにするもの。 DSLで記述されたコードの構成要素を組み合わせて、Swiftのインスタンスを生成する関数を作る仕組み

tsonobe1 commented 2 years ago

HStackやVStackには、イニシャライザに@ViewBuilderがついている。

@ViewBuilderはstructで、contentを引数にして、contentを返す関数が定義されている。 このViewBuilderには、@_functionBuilderがついている。

@_functionBuilderは、関数の式から部分的な結果を集めて、戻り値に結合するためのDLSを実装している。 Result builder