Handling user input — SwiftUI Tutorials やってみた
概要
Handling user input — SwiftUI Tutorials | Apple Developer Documentation をやってみたのでメモ
メモ
Section 1: Mark favorite landmarks
- struct に bool を持たせてfavを表示させる
- ここまではありがちな感じ
- Image で asset にない星を出せるのはなんでだ...?
- systemName でOSが準備してるシンボルを使えるらしい
- SF Symbols | Apple Developer Documentation
Section 2: Filter the list view
- fav つけたものだけにする
- View のなかに @State でstateもてるっぽい
- React の useState のノリか
- state は private になるとこも似てる
- filterは使える
- lambda式の書き方が独特?
- swiftにはlambda式なくてクロージャーらしい
Section 3: Add a control to toggle the state
- Toggle と @State の組み合わせで input 部品作れる
- 簡単で良い
- Stateの変更制御に冪等性があるかとかは言語側で担保してくれてるんだと思う
- toggle使うときwebだとその辺りが面倒
Section 4: Use observation for storage
- Observable マクロ使うと、ユーザーの変更をStorageにも適用できる
- これはちょっと使い所間違えると怖いな...
- 参照のみじゃなくなるパターンがあると考慮点が増える
- localStorage に限定すれば使い所多そう
Section 5: Adopt the model object in your views
- Environment で環境変数的な渡し方ができる
- テスタビリティ上がりそう
Section 6: Create a favorite button for each landmark
- 渡された引数は参照しかできない
- 変更したいものがある場合は Environment で渡す必要がある
- ちょっと複雑になってきた