1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🧵【Swift】プロパティラッパーまとめてみた(初心者目線)

Posted at

最近よく見る @State とか @Binding とか、
あの「@で始まるやつら」って何者!?って思って調べたので、
自分用のメモがてら、プロパティラッパーについてまとめてみました✍️


💡 プロパティラッパーってなに?

簡単にいうと…

プロパティに共通の機能をもたせる便利な仕組み

たとえば、状態を保持したいとか、親子で値を共有したいとか、
保存しておきたいとか……そういうときに @ラッパー を付けるといい感じになります。


🗂 よく見るプロパティラッパーたち

ラッパー 使いどころ どんな時?
@State View内で値を保持したい時 ボタン押されたかとか、フラグ管理とか
@Binding 親から渡ってきた値を双方向でいじりたい時 子Viewで値を更新したい時
@ObservedObject 外から渡されたオブジェクトの変化を監視 モデルの値が変わったら画面も変えたい
@StateObject Viewの中でオブジェクトを初期化&保持 自分の中でデータ持ちたい時
@EnvironmentObject アプリ全体で共有したい値がある時 設定とか共通データ
@AppStorage UserDefaults と連携したい時 値を保存しておきたい時(ログイン名とか)
@Published モデル側で「値変わったよ〜」って通知したい時 ObservableObject の中身で使うやつ
@FocusState TextFieldのフォーカスを制御したい時 キーボードを出したり引っ込めたり
@Namespace 画面間でアニメーションさせたい時 ヒーローアニメーション!

まだまだ自分も理解しきれてない部分があるので、
「ここ違うよ!」「こういう使い方もあるよ!」とかあればぜひ教えてください🙏

少しでも初心者仲間の参考になれば嬉しいです!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?