SwiftUIというUIフレームワークの使い方ついてのまとめサイトになります。
これからiPhoneやMac向けのアプリケーション開発に挑戦したい!という人の助けになれればと思います。
SwiftUIとは
SwiftUI(Swift User Interface)は、Appleが提供するユーザーインターフェイス(UI)を構築するためのモダンなフレームワークです。Swift言語をベースにしています。
従来のUIフレームワークであるUIKitやAppKitに代わるものとして、iOS 13以降のバージョンで導入され、アプリケーションの開発を効率的にしてくれています。
Viewの概念
SwiftUIにおいて、View
はユーザーインターフェイスの一部または全体を表すプロトコルです。View
プロトコルは、UIの宣言的な構築を可能にし、UIの階層構造や外観を定義します。SwiftUIのUIコンポーネント(ビュー)は、すべて View
プロトコルに準拠しています。
プロトコル
インターフェースや抽象的な実装すべきメソッドやプロパティの仕様を提供する(特定のメソッド、プロパティ、および振る舞いを要求または保証)するものです。プロトコルは、コードを設計する際にインターフェースを定義し、型がそのインターフェースに従うことを強制します。
つまり、(個人的に簡単にいうと)「View内き記載のコードはViewで指定した形でしか使えません。」という意味合いになります。
なぜこの説明をしているかというと、SwiftUIでユーザーインターフェイスを開発する際はViewのプロトコルに準拠して記載するからです。以下が例のコードです。
import SwiftUI
struct ContentView: View {
var body: some View {
Text("Hello, SwiftUI!")
}
}
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
この記載で画面上のUIに”Hello, SwiftUI!”という文字が表示されます。この”Text()”はViewのプロトコルに準拠した”Text”メソッドを使用しているにすぎません。
この辺を理解していると単にSwiftUIってこんな書き方なんだ〜とならずに開発を進めることができます。
注意
SwiftUIのViewプロトコル内の中ではSwiftで使用できた関数(for-in等)が使えません。
なぜならその関数はViewのプロトコルに準拠していないからです。
私もそうなのですが、書き方際分かれば良いと思っていたらここの落とし穴にハマりました。
開発していく上でここを意識していただければスムーズに進むと思います。(今理解できなくてもアプリ開発を進めていくと分かると思いますので焦らずに)
以上になります。
次からはSwift UIの書き方の記事を上げていきます。
コメント