associatedtype ID
Overview 概要
Use the Identifiable
protocol to provide a stable notion of identity to a class or value type. For example, you could define a User
type with an id
property that is stable across your app and your app’s database storage. You could use the id
property to identify a particular user even if other data fields change, such as the user’s name.
Identifiable
プロトコルを使って、ある安定した同一性の概念をあるクラスまたは値型に提供してください。例えば、あなたはあるUser
型を、あなたのアプリとあなたのアプリのもつデータベースストレージにわたって安定しているあるid
プロパティで定義できます。あなたは、そのid
プロパティを使って、特定のユーザを識別できます、たとえ他のデータフィールド、たとえばそのユーザのもつ名前などが変わるとしてもです。
Identifiable
leaves the duration and scope of the identity unspecified.
Identifiable
は、同一性の期間とスコープを特定されないようにします。
Identities can have any of the following characteristics:
Guaranteed always unique, like UUIDs.
Persistently unique per environment, like database record keys.
Unique for the lifetime of a process, like global incrementing integers.
Unique for the lifetime of an object, like object identifiers.
Unique within the current collection, like collection indices.
It’s up to both the conformer and the receiver of the protocol to document the nature of the identity.
Conforming to the Identifiable Protocol Identifiableプロトコルに準拠する
Identifiable
provides a default implementation for class types (using Object
), which is only guaranteed to remain unique for the lifetime of an object. If an object has a stronger notion of identity, it may be appropriate to provide a custom implementation.
Identifiable
は、省略時の実装をクラス型に対して提供します(Object
を使って)、それはあるオブジェクトの存続期間に対して特有のままであることだけを保証されます。あるオブジェクトがより強い同一性概念を持つならば、それはあつらえの実装を提供するのが適切であるかもしれません。