イニシャライザ
init(_:id:children:content:)
root のデータ要素、その識別子(ID)へのキーパス、およびその子へのキーパスからアウトライングループを作成します。
宣言
init<C, E>(_ root: Binding<E>, children: WritableKeyPath<E, C?>, content: @escaping (Binding<E>) -> Leaf) where Data == Binding<C>, ID == E.ID, C : MutableCollection, C : RandomAccessCollection, E : Identifiable, E == C.Element
Data が RandomAccessCollection に準拠し、ID が Hashable に準拠し、Parent が View に準拠し、Parent が Leaf であり、 Subgroup が DisclosureGroup<Parent であり、OutlineSubgroupChildren> である場合に使用できます。
パラメータ
root
ツリー構造の、識別されたデータのコレクションのルート。
children
nil 以外の値が data の子に与えるプロパティへのキーパス。nil 以外の空の値は、ファイルシステム内の空のディレクトリのように、現在子がない子を持つことができる要素を示します。一方、キーパスのプロパティが nil の場合、アウトライングループは data をファイルシステム内の通常のファイルのように、ツリー内のリーフとして扱います。
content
data 内の要素に基づいてコンテンツビューを生成するビュービルダ。
議論
このイニシャライザは、基本となるデータ要素の ID に基づいて、更新全体でビューを一意に識別するインスタンスを作成します。
生成されたすべての公開グループは、折りたたまれた状態で始まります。
データ要素の識別子(ID)が変更されるのは、その要素を新しい要素に置き換える場合、つまり新しい ID に置き換える場合のみにしてください。要素の ID が変更されると、その要素から生成されたコンテンツビューは、現在の状態とアニメーションを失います。
以下も見よ
階層データへの結束からアウトライングループを作成
root のデータ要素のコレクションへの結束とその子へのキーパスからアウトライングループを作成します。
Data が RandomAccessCollection に準拠し、ID が Data.Element.ID であり、Parent が View に準拠し、Parent が Leaf であり、Subgroup が DisclosureGroup<Parent であり、OutlineSubgroupChildren> であり、Data.Element が Identifiable に準拠している場合に使用できます。
root のデータ要素への結束、その識別子(ID)へのキーパス、およびその子へのキーパスからアウトライングループを作成します。
Data が RandomAccessCollection に準拠し、ID が Hashable に準拠し、Parent は View に準拠し、Parent は Leaf であり、Subgroup は DisclosureGroup<Parent であり、OutlineSubgroupChildren> である場合使用できます。
root のデータ要素のコレクションへの結束、データ要素の識別子(ID)へのキーパス、およびその子へのキーパスからアウトライングループを作成します。
Data が RandomAccessCollection に準拠し、ID が Hashable に準拠し、Parent が View に準拠し、Parent が Leaf であり、Subgroup が DisclosureGroup<Parent であり、OutlineSubgroupChildren>であるる場合使用できます。