0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

iOS App Dev Tutorialsを読んで実際にやってみた。その6

Posted at

前回の記事

iOS App Dev Tutorialsを読んでみた。その5
前回の記事を読んだ後に、この記事をご覧ください。

今回の範囲

Managing data flow between views 
今回はビュー間のデータフローを管理する事について学びます。

1.真実の源

 真実のソースを複数箇所に保存すると、アプリのバグにつながる可能性があるため、アプリの各データ要素には単一の真実のソースを使用する必要があります。ScrumdingerAppでは、真実のソースを用い、他のビューがそのアクセスを共有することになっている。これにより、データ整合性が維持され、アプリのパフォーマンスが向上する。

2.Swiftプロパティラッパー

 Swiftにおいて、プロパティラッパーは、共通のプロパティ初期化パターンをカプセル化し、プロパティに効率的に動作を追加するのに役立ちます。ための真実の単一のソースを維持するのを助けます。

3.状態

SwiftUIでは、ユーザーの操作に基づいて@Stateプロパティが変更されると、それに依存する全てのビューが更新されることでUIが新しいバージョンにレンダリングされます。状態プロパティは、一時的な状態を管理するために役立つので、永続的なストレージに使用することは避けるべきです。Stateプロパティラッパーは、ローカルな真実のミュータブルソースを定義するためのシンタックスであり、他のビューでも同じソースを使用したい場合は、@EnvironmentObjectプロパティラッパーを使用する必要があります。

4.結合

@Bindingは、既存の真実のソースとビュー間で双方向の接続を作成することで、データの表示および更新を実現します。親または子ビューは、このソースを変更できます。この機能は、DailyScrumを編集するためにも使用されます。ビューがバインディングに変更を加えると、SwiftUIは真実のソースを更新します。

5.アーキテクチャ

バインディングを使用して単一の真実のソースを伝達させるこのパターンは、ビュー階層内の任意の数に対して有効である。

まとめ

今回はビュー間のデータフローを管理する事について学びました。次回は編集ビューの作成をしていきます。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?