Cover Image for Handling user input — SwiftUI Tutorials やってみた

Handling user input — SwiftUI Tutorials やってみた

概要

Handling user input — SwiftUI Tutorials | Apple Developer Documentation をやってみたのでメモ

メモ

Section 1: Mark favorite landmarks

  • struct に bool を持たせてfavを表示させる
    • ここまではありがちな感じ
  • Image で asset にない星を出せるのはなんでだ...?

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 で渡す必要がある
  • ちょっと複雑になってきた