Swift学習教材
下記の書籍を題材にSwiftを学習してます。
SwiftUI 徹底入門 | 金田 浩明 |本 | 通販 | Amazon
https://www.amazon.co.jp/dp/4815604061
3週間で得られた知見
実際にどんなことをしたのかは下記の通りです。
- 11章まで読了(言葉の意味がわからないこともあったけどスルーした)
- サンプルアプリのデータ構造を紙にまとめて解析
- サンプルアプリの中身をオリジナルのアセットに差し替え
この3週間で思ったことは、
「Swiftめちゃめちゃ簡単!とっつきやすい!」
ということでした。
ひとつの画面がひとつのswiftファイルに対応しているので、
データ構造がとてもわかりやすく、何が起因してどんな画面になるかが容易に想像できます。
(正直、本がなくても、サンプルプログラムを自分で解読していくだけで
なんとなく理解できてしまうぐらいには簡単だったと思う)
新しいディレクトリを作成して、視覚的にわかりやすいようにファイルを整理しても、
Swift側で勝手に探してくれる。
パスの引き直しが必要ないことが地味に嬉しい。
Swiftはプログラミング初心者の人に向いてる、と言われる理由がわかりました。
Swift学習する前の自分が知りたかった情報
もしかしたら過去の自分のようにとりあえず触ってみたい人がいるかもしれないので、
そんな人向けに情報を残しておきたいと思います。
最低限、下記のことを知っておけばあとは調べながら学習できるはず。
各ファイルの役割
「aa」プロジェクトを作成すると画像のようなデータ構造でプロジェクトが作成される。
ContentView.swift
アプリを開いたとき、最初に表示される画面(ビュー)。
この画面を一番上の階層として、新しい画面をさらに下の階層に作成していくイメージ。
Swiftファイルをデフォルトで作成したとき、二つの要素が構造体として定義されている。
ContentView.swiftを例にとってみると下記二つ。
- struct ContentView: View{}
- struct ContentView_Previews: PreviewProvider{}
ContentViewは実際にアプリの内容を記述する構造体。
デフォルトでは「Hello, world!」と表示されるテキストが書かれている。
この部分をググりながら触ってるだけで理解できると思う。
ContentView_Previewsはキャンバスと呼ばれる場所にプレビューするための構造体。
中身にContentViewが参照されていることからなんとなく察せる。
モダンな言語?なので、自分が書いたコードが瞬時に表示されるのは楽しい!
Assets.xcassets
画像や色といったアセット(素材みたいな意)を格納しておく場所。
画像を表示させるときにここの画像を参照先に指定する。
Swiftで画像を表示、挿入する方法を調べればここの説明も出てくる。
実行
キャンバスに表示されている端末の上部に再生ボタンがあるので、それを押せばプレビューが開始される。
その他、キャンバスに表示させる端末を変更することで表示の変化を見ることができる。
(プロジェクトを作成したばかりだとキャンバスには何も映っていない可能性がある。
そのときはキャンバス右上の「Resume」を押せば端末が表示されると思う。倍率も適当な数値に変更した方が良い。)
コードを変更してすぐプレビュー、という流れがとてもインタラクティブで触ってて楽しい。
おわりに
Swiftをざっと勉強したときに得られた知見を雑多にまとめてみました。
過去の僕が欲しかった情報だけを記載しています。
プレビューで簡単に確認できるおかげで検証作業は気軽にできますし、
どの行がどの要素に対応づいているか直感的に理解することができるのが本当に感動しました。
TECH::CAMPが始まってしまったのでSwiftアプリ開発は一時的にストップしている状況ですが、
プログラミングに触ったことすらない本当の初学者向けにしっかりとした記事を書きたい欲が出てきました。
時間があるときにコツコツ下書きに書き留めておきます。