100 Days of SwiftUI【Day 11〜Day 15】
こんにちは、白くまコージです!
iOSアプリを開発できるようになるため、Swiftを勉強中です。
100 Days of SwiftUIのDay 11〜Day 15が完了したので、ここに記録を残します。
学習記録
Day 11 – Structs, part two
学習時間
50分
学んだこと
- アクセス修飾子
- 静的プロパティと静的関数
- 構造体の復習
感想
引き続き、構造体の解説です。
静的プロパティとして、その構造体のサンプルインスタンスを定義しておくのは使えそうで良いと思いました。本番では不要なので、productionビルドでは除外できるようにするとなお良いと思いました。
今回も最後にチェックポイントの課題がありました。ここも特に難しくはなかったので、問題なく実装できました。
Day 12 – Classes
学習時間
70分
学んだこと
- クラスの定義方法
- クラスの継承方法
- クラスのイニシャライザの定義方法
- クラスの代入方法
- クラスのデイニシャライザの定義方法
- クラスのプロパティの扱い方
感想
クラスの解説です。
クラスのインスタンスを代入する変数のletとvarの違い、クラスのプロパティのletとvarの違いについては今回初めて知りました。
たしかに、クラスは参照型なのでポインタ(クラスを保持する変数)自体がletだとしてもクラス内のプロパティがvarなのであれば変更できる点は納得できるものでした。定数なのはポインタなのでクラスの参照先が変えられないだけで、参照している先のプロパティは変更できるということでしょう。
それ以外は、他のオブジェクト指向言語と同じような構文だと感じました。
今後、構造体とクラスをどのように使い分けるかに注目していきたいです。
Day 13 – Protocols and extensions
学習時間
90分
学んだこと
- プロトコルの定義方法と使い方
- opaque return型の使い方
- extensionの定義方法と使い方
- プロトコルextensionの定義方法と使い方
感想
プロトコルとextensionの解説です。
opaque return型については、難しくてあまり理解できませんでした。とりあえずプロトコルを関数の戻り値としたい場合にsomeをつければいいのかな、くらいの理解度です。
ここはまた別の機会に復習したいと思いました。
Day 14 – Optionals
学習時間
60分
学んだこと
- Optional型とは
- Optional型のアンラップ方法
- optional chainingの使い方
- try?の使い方
感想
Optional型の解説です。
optional chainingは初めて知った構文でした。if letやguardを使わないため、コードがかなりすっきりするので、使える場面では使っていくのがいいと思いました。
解説ではクロージャの次に難しいという話でしたが、クロージャよりはだいぶ理解しやすい内容でした。
Day 15 – Swift review
学習時間
60分
学んだこと
- これまでの復習
感想
これまで学習してきたSwiftの基礎の復習の日です。
1時間の動画にSwiftの基礎が詰め込まれています。
Swiftをある程度理解している人であれば、Day 14までは飛ばしてこの動画だけを見て次に進んでもいいと思いました。
まとめ
100 Days of SwiftUIのDay 11〜Day 15が完了しました。
プロトコルやextension、Optional型など重要な構文を学習する期間でした。
Swiftの基礎を一通り学習してみて、やはりクロージャが一番難しいなと感じました。おそらく次に進めばクロージャを使ったコードがたくさん出てくると思うので、理解できるようにしっかりと取り組んでいきたいです。
さて、Swiftの基礎はここまでで、次からはいよいよSwiftUIの学習に進みます。iOSアプリを開発できるようになるためには、ここからが本番だと思うので気を引き締めていきたいと思います。
以上、白くまコージでした!