An object representing a universally unique value that bridges to UUID
; use NSUUID
when you need reference semantics or other Foundation-specific behavior.
SDKs
- iOS 6.0+
- macOS 10.8+
- tvOS 9.0+
- watchOS 2.0+
Framework
- Foundation
Declaration
Overview
UUIDs (Universally Unique Identifiers), also known as GUIDs (Globally Unique Identifiers) or IIDs (Interface Identifiers), are 128-bit values. UUIDs created by NSUUID
conform to RFC 4122 version 4 and are created with random bytes.
The standard format for UUIDs represented in ASCII is a string punctuated by hyphens, for example 68753A44-4D6F-1226-9C60-0050E4C00067
. The hex representation looks, as you might expect, like a list of numerical values preceded by 0x. For example, 0x
, 0x36
, 0x95
, 0x0A
, 0x4D
, 0x6E
, 0x12
, 0x26
, 0x80
, 0x3A
, 0x00
, 0x50
, 0x
, 0x
, 0x00
, 0x67
. Because a UUID is expressed simply as an array of bytes, there are no endianness considerations for different platforms.
The NSUUID
class is not toll-free bridged with CoreFoundation’s CFUUID
. Use UUID strings to convert between CFUUIDRef
and NSUUID
, if needed. Two NSUUID
objects are not guaranteed to be comparable by pointer value (as CFUUID
is); use is
to compare two NSUUID
instances.