antonio's blog

antonio's blog


Блог о всяком разном, связанном с разработкой ПО. Пишу редко, когда есть время и желание.

Anton Dobkin
Author

Share


Tags


Класс NSUUID

Anton DobkinAnton Dobkin

NSUUID класс позволяет создавать UUID (Universally Unique Identifier). UUID используется в программном обеспечении для идентификации устройств, информации, объектов, элементов и др., без опасения возникновения конфликтов из-за совпадения идентификаторов.

UUID, также известный как GUID (Globally Unique Identifiers) и IIDs (Interface Identifiers), представляет из себя уникальный 128-битный идентификатор, который представляется в ASCII формате как строка из шестнадцатеричных цифр, разбитых на группы и разделенных дефисами. Всего 32 символа по схеме 8-4-4-4-12. Пример UUID: 30420B54-9E6C-4691-8E10-89DB08D68080.

Общее количество уникальных UUID составляет 2^128 = 256^16

Класс принимает следующие протоколы:

Класс доступен в OS X начиная с версии 10.8 (Mountain Lion) и в iOS начиная с версии 6.0

Создание UUID

Класс создает UUID в соответствии с RFC 4122 версии 4, для генерации используются случайные числа.

Методы создания UUID:

+ UUID - создайте и возвращает новый объект класса NSUUID

– init - инициализирует ранее созданный объект класса NSUUID. Метод возвращает инициализированный объект

– initWithUUIDBytes: - инициализирует ранее созданный объект класса NSUUID из массива необработанных байт, переданных в аргументе. Метод возвращает инициализированный объект

– initWithUUIDString: - инициализирует ранее созданный объект класса NSUUID из UUID строки переданной в аргументе. Метод возвращает инициализированный объект или nil, если указана некорректная строка.

Получение значения

- UUIDString - возвращает UUID в виде форматированной строки

- getUUIDBytes - возвращает в виде unsigned char массив, необработанных байт, из 16 элементов

Пример

NSUUID *uuid = [[NSUUID alloc] initWithUUIDString: @"30420B54-9E6C-4691-8E10-89DB08D68080"];  
NSLog(@"UUID: %@", uuid);

uuid_t uuidBytes;  
[uuid getUUIDBytes:uuidBytes];
NSLog(@"UUID: %s", uuidBytes);  
Anton Dobkin
Author

Anton Dobkin

Comments