【Swift UI】プロトコル

開発環境

  • macOS Monterey ver12.6.8
  • XCode Version14.2(14C18)

 クラスや構造体が保持するプロパティやメソッドなどの決まりを定めている。
 他の言語のインターフェースに似ている。

コード例

 XCodeで用意されている、1つの画面を表示させるテンプレートであるApp(Single View Application)の初期状態が以下のコード。

ContentView.swift

import SwiftUI
struct ContentView: View {
  var body: some View {
    VStack {
      Text("Hello, world!")
    }
  }
}

struct ContentView_Previews: PreviewProvider {
  static var previews: some View {
    ContentView()
  }
}

Viewプロトコル

 私は、上記のコードについて調べてプロトコルとは?となったのがViewプロトコル(Viewの公式ドキュメント)
Overviewを見ると、"Implement the required body computed property to provide the content for your custom view."と書かれている。
 最初に書いたプロパティに関する決まりで、このViewプロトコルに準拠した場合は"計算プロパティのbodyを実装する必要がある"ということ(計算プロパティとbody)
上記のコードでは、VStackという子を縦方向に配置するView(Hello, world!)を返している。

PreviewProvider