ObjectIdentifier

struct ObjectIdentifier

A unique identifier for a class instance or metatype. This can be used by reflection clients to recognize cycles in the object graph.

In Swift, only class instances and metatypes have unique identities. There is no notion of identity for structs, enums, functions, or tuples.

Inheritance Comparable, Equatable, Hashable, _Comparable View Protocol Hierarchy →
Import import Swift

Initializers

init(_: Any.Type)

Construct an instance that uniquely identifies the metatype x.

Declaration

init(_ x: Any.Type)
init(_: AnyObject)

Construct an instance that uniquely identifies the class instance x.

Declaration

init(_ x: AnyObject)

Instance Variables

var hashValue: Int

The hash value.

Axiom: x == y implies x.hashValue == y.hashValue

Note: the hash value is not guaranteed to be stable across different invocations of the same program. Do not persist the hash value across program runs.

Declaration

var hashValue: Int { get }
var uintValue: UInt

Convert to a UInt that captures the full value of self.

Axiom: a.uintValue == b.uintValue iff a == b

Declaration

var uintValue: UInt { get }