前回の続きであるが、まずはソースコード
//
// ContentView.swift
// testProject
//
// Created by yuki on 2023/09/29.
//
import SwiftUI
struct ContentView: View {
var body: some View {
VStack {
Image(systemName: "globe")
.imageScale(.large)
.foregroundColor(.accentColor)
Text("Hello, world!")
Text("Hello, Japan!")
}
.padding()
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
前回はVStackの中に定義されている表示に関する説明をしたが、その他の部分も見てみる。
import SwiftUI
import SwiftUI
は、Swiftプログラミング言語でiOS、macOS、watchOS、tvOSアプリケーションのユーザーインターフェースを構築するためのフレームワークである「SwiftUI」を導入するためのステートメンということだ。要するにこれがないとSwiftUIは利用できない。おまじないみたいなものだ。
struct ContentView: View {
struct ContentView: View
は、SwiftUIにおけるViewプロトコルを適合させるSwiftの構造体(struct)の宣言。これは、SwiftUIでユーザーインターフェース(UI)の一部を定義するためのものである。
具体的には、以下の通り:
struct ContentView
:Swiftの構造体を宣言しています。Swiftの構造体は、データとメソッドを組み合わせたカスタムのデータ型を定義するために使用される。この構造体は ContentView という名前で定義されている。: View
:SwiftUIのViewプロトコルに適合させているものである。Viewプロトコルは、UIの一部を表すために必要なプロパティやメソッドを提供するプロトコル。SwiftUIでは、UIコンポーネントはViewプロトコルに適合している必要がある。
つまり、struct ContentView: View
は ContentView という名前のSwift構造体がViewプロトコルに適合し、SwiftUIのUI要素を構築するための基本的な要素であることを示す。このContentView構造体内で、UIの外観や動作を定義し、SwiftUIのビューコンポーネントを構築する。このビューは、アプリケーションの一部として表示される画面や部品を表す。
var body: some View {
var body: some View { ... }
は、SwiftUIでUIの実際の内容を定義するためのコードブロック。これは、SwiftUIビューコンポーネント内で定義され、そのビューの外観と振る舞いを設定するために使用される。
具体的には、次のことを意味する:
var body
:この行は、Swiftプロパティの宣言を行っています。body
はプロパティの名前。some View
:プロパティの型がsome View
という型であること。この部分はSwiftのジェネリクス型の構文であり、「some」は特定のビュータイプを指定せず、ある種のView型が返されることを示す。SwiftUIでは、ビューが異なる種類のビューコンポーネントを含む複雑なビュー階層を構築できるため、柔軟性を提供する。{ ... }
:この中括弧内に、実際のUIコンポーネントやビューの構築コードが含まれる。この部分でビューコンポーネントを組み合わせ、デザイン、レイアウト、テキスト、画像、ボタンなどのUI要素を定義する。