100 Days of SwiftUI【Day 36〜Day 40】
こんにちは、白くまコージです!
iOSアプリを開発できるようになるため、Swiftを勉強中です。
100 Days of SwiftUIのDay 36〜Day 40が完了したので、ここに記録を残します。
学習記録
Day 36 – Project 7, part 1
学習時間
80分
学んだこと
- @Stateをクラスで使う方法
- @Observableの仕組み
- sheetによる新しいViewの表示方法
- dismissによる新しいViewの非表示方法
- onDeleteによるリスト項目の削除方法
- EditButtonの使い方
- UserDefaults、@AppStorageを使った値の保存・読み込み方法
- CodableとJSONEncoderを使って構造体を保存する方法
感想
Project 7の解説パートです。
前回、前々回と難しいチャレンジが続いたので解説パートは安心して進めることができます。
UserDefaultsは、ここでの実演だと即座に書き込まれなかったので実際のアプリには使えないものなのか?ということが気になりました。にもかかわらず、その後の説明だと「your defaults data would be written immediately so nothing will be lost(即座に書き込まれるため問題ない)」と言っているためかなり混乱しています。
Day 37 – Project 7, part 2
学習時間
70分
学んだこと
- @Observableを使ってオブジェクトを別のViewと共有する方法
- onDeleteによるリスト項目の削除方法
- Identifiableプロトコルを使う方法
- sheetで新しいViewを表示する方法
- UserDefaults、Codable、JSONEncoder、JSONDecoderを使ってデータを保存・読み込む方法
- dismissでシートを閉じる方法
感想
Project 7の実装パートです。
@Environmentの使い方がいまいち理解できていません。今回使用したdismissでしか今のところ例がないので、どのようなときに使うものなのかがわかりませんでした。今後、登場することもあるかと思うのでその時にまた勉強していきたいです。
Day 38 – Project 7, part 3
学習時間
90分
学んだこと
チャレンジパートのため、以下の課題に挑戦しました。
- 表示する通貨を切り替えられるように修正する
- 価格の値によってテキストのスタイルが変わるように修正する
- リストを2つのセクションに分割する
感想
Project 7のチャレンジパートです。
1つ目と2つ目の課題は問題なくできましたが、3つ目の課題が難しかったです。
最初は自力で実装しようとしてみたのですが、うまくできなかったため調べて解決することにしました。こちらのページを参考にしてら実装できました。詰まってしまった時に調べることは重要ではありますが、なんだかカンニングみたいになってしまってちょっと残念です。
Day 39 – Project 8, part 1
学習時間
60分
学んだこと
- 画像サイズの調整方法
- ScrollViewの使い方
- LazyVStack、LazyHStackの使い方
- NavigationLinkを使って新しいViewに遷移する方法
- 階層型のJSONデータをデコードする方法
- LazyHGrid、LazyVGrid、GridItemを使ってグリッドを表示する方法
感想
Project 8の解説パートです。
今回も新しい技術要素がたくさん登場しましたが、解説パートは「ふむふむ、なるほど」と思いながら進めています。これらをどう組み合わせてアプリを実装していくのかが楽しみです。
Day 40 – Project 8, part 2
学習時間
90分
学んだこと
- JSONファイルからデータをロードする方法
- ジェネリクスを使った様々な型に対応するコードの書き方
- JSONデータをデコードする際に日付をフォーマットする方法
- ShapeStyleを拡張して新しい色を定義する方法
- アプリを強制的にダークモードにする方法
感想
Project 8の実装パートです。
今回はかなり分量も多く、覚えることが多くて大変だと感じました。
動画を見るだけだと習ったことが身に付く気がしないので、登場したコードは基本的には自分でも実際にXcode上で実装していますが、分量が多くてコピペするだけになってしまっているのが気になるところです。
まとめ
100 Days of SwiftUIのDay 36〜Day 40が完了しました。
覚えることが多くなってきて、かなり大変になってきました。
チャレンジパートで出される課題も難しくなってきているので、今後ついていけるか心配になってしまいます。
ただ、もう少しでコースの半分まで到達するので踏ん張っていきたいと思います。
以上、白くまコージでした!