LoginSignup
1
5

More than 3 years have passed since last update.

SwiftUIのチュートリアル日記1

Posted at

この記事は何?

Apple Developerサイトに掲載されているSwiftUIチュートリアルで実践したことを忘備録として残しました。

実行環境

Xcode11 beta
macOS10.15 Catalina beta

Creating and Combining Views

Landmarks アプリを作る最初のチュートリアルです。

セクション1: プロジェクトを作成して、キャンバスを理解する

SwiftUIを使用できる新しいXcodeプロジェクトを作成します。
キャンバスによるインタラクティブなプレビュー機能を使用するには、XcodeがmacOS 10.15 beta上で動作する必要があるようです。

手順1

Xcodeを起動して、Create a new Xcode project を選択する。

手順2

プラットフォームのiOSタブから、Single View App を選択して、Next をクリックする。

手順3

Product Name に「Landmarks」と入力する。
SwiftUI のチェックボックスをオンにする。
Next をクリックする。
任意の場所にプロジェクトを保存する。

手順4

プロジェクトナビゲータにある ContentView.swift ファイルをクリックして表示する。

ContentView.swift
import SwiftUI

// 1つ目の構造体(コンテンツとレイアウト)
struct ContentView: View {
    var body: some View {
        Text("Hello World")
    }
}

// 2つ目の構造体(プレビュー)
struct ContentView_Preview: PreviewProvider {
    static var previews: some View {
        ContentView()    // ← 1つ目の構造体のインスタンスかな
    }
}
  • SwiftUIビューファイルには、デフォルトで2つの構造体が宣言されている。
  • View プロトコルに適合した構造体で、コンテンツとレイアウトを定義している
  • ビューをプレビューする構造体

あとで調べたいこと
これまでの基本的なSwiftプログラミングでは、あまり見ない記述があったので...

  • View プロトコル とは
  • PreviewProvider プロトコルとは
  • 構造体のプロパティは、計算プロパティなのかな
  • var body: some View って、プロパティの型アノテーションにプロトコルを記述してる?

手順5

キャンバスにある Resume ボタンををクリックして、プレビューを表示する。
キャンパスは「Editor > Editor and Canvas to show it」から表示できる。

手順6

body プロパティにある "Hello World" を適当に変更する。("Hello SwiftUI" とか)
コードを変更すると、プレビューに反映される。

思ったこと

  • ContentView.swift ファイルが、UIKitViewController.swift に該当するのかな。
  • 画面に行くつもコントロールを配置するときは、ContentView 構造体のプロパティとして定義するのかな。
  • テキストのビューはレイアウトに関して何も定義してないが、画面の中心になっているなぁ。
1
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
5