SwiftUIにおけるTrailing Closureの効果的な使い方 by 佐藤 光

iOSDC Japan 2024
LT(5分)

SwiftUIにおけるTrailing Closureの効果的な使い方

hicka04 佐藤 光 hicka04

SwiftにはTrailing Closureという強力な記法が存在しており、引数の最後のClosureを引数リストの外に展開して書くことができます。

SwiftUIでもTrailing Closureが積極的に利用されており、主に子のUI要素を構築する @ViewBuilder のClosureを最後に持ってくることで、UIの階層構造を表現しています。

一方でSwiftUIにおけるClosureは、タップなどのアクションを実行するためにも使われます。 @ViewBuilder なClosureがない場合、アクションのClosureを引数の最後に持っていきたくなってしまいますが、Trailing Closureは引数ラベルがないため、そのClosureがUIを構築しているのかアクションを実行しているのかはClosureの中身を読む必要があります。

本セッションでは私がおすすめするSwiftUIにおけるTrailing Closureの使い方についてご紹介します。誰もがわかりやすいSwiftUIのコンポーネントを作れるようになるために、まずは引数内のClosureの位置を意識してみるのはいかがでしょうか。