Создайте UUID на iOS из Swift

В моем приложении iOS Swift я хочу генерировать случайные строки UUID (GUID) для использования в качестве ключевого слова таблицы, и этот сниппент работает:

let uuid = CFUUIDCreateString(nil, CFUUIDCreate(nil))

Это безопасно?

Или может быть лучший (рекомендуемый) подход?

Ответ 1

Попробуйте это:

let uuid = NSUUID().uuidString
print(uuid)

Swift 3/4

let uuid = UUID().uuidString
print(uuid)

Ответ 2

Вы также можете использовать API NSUUID:

let uuid = NSUUID()

Если вы хотите вернуть значение строки, вы можете использовать uuid.UUIDString.

Обратите внимание, что NSUUID доступен с iOS 6 и выше.

Ответ 3

Для Swift 4;

let uuid = NSUUID().uuidString.lowercased()

Ответ 4

Для Swift 3 многие типы Foundation сбросили префикс "NS", поэтому вы получите доступ к нему UUID().uuidString.

Ответ 5

Также вы can используете его lowercase ниже

let uuid = NSUUID().UUIDString.lowercaseString
print(uuid)

Выход

68b696d7-320b-4402-A412-d9cee10fc6a3

Спасибо!

Ответ 6

Это более эффективно при выполнении поиска по запросу.

Ответ 7

Каждый раз будет генерироваться одно и то же:

if let uuid = UIDevice.current.identifierForVendor?.uuidString {
    print(uuid)
}

Каждый раз будет создаваться новый:

let uuid = UUID().uuidString
print(uuid)