Initializer

init(_:id:content:)

Creates an instance that uniquely identifies and creates views across updates based on the provided key path to the underlying data’s identifier. あるインスタンスを作成します、それは、ビューそれらを更新を越えてその基礎をなすデータのもつ識別子へのこの提供されたキーパスに基づいて特有に識別および作成するものです。

Declaration 宣言

init(_ data: Data, id: KeyPath<Data.Element, ID>, content: @escaping (Data.Element) -> Content)
Available when Data conforms to RandomAccessCollection, ID conforms to Hashable, and Content conforms to View. DataRandomAccessCollectionに準拠する、IDHashableに準拠する、そしてContentViewに準拠する時に利用可能です。

Parameters パラメータ

data

The data that the ForEach instance uses to create views dynamically.

id

The key path to the provided data’s identifier. 提供されたデータのもつ識別子へのキーパス。

content

The view builder that creates views dynamically. ビューを動的に作成するビュービルダー。

Discussion 議論

It’s important that the id of a data element doesn’t change, unless SwiftUI considers the data element to have been replaced with a new data element that has a new identity. 重要なことは、あるデータ要素のidは変化しないことです、SwiftUIがそのデータ要素を新しい同一性を持つ新しいデータ要素と置き換えられたと見なさない限りは。 If the id of a data element changes, then the content view generated from that data element will lose any current state and animations.

See Also 参照

Creating a Collection from Data