[从Swift在iOS上生成UUID

问题描述 投票:285回答:6

在我的iOS Swift应用程序中,我想生成随机UUID(GUID)字符串用作表键,并且此代码段appears起作用:

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

这安全吗?

或者也许有更好(推荐)的方法?

ios swift cocoa-touch guid core-foundation
6个回答
604
投票

尝试这个:

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

快速3/4

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

27
投票

您也可以只使用NSUUID API:

let uuid = NSUUID()

如果要取回字符串值,可以使用uuid.UUIDString

请注意,NSUUID在iOS 6及更高版本中可用。


16
投票

对于Swift 4;

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

12
投票

对于Swift 3,许多Foundation类型都删除了'NS'前缀,因此您可以通过UUID().uuidString来访问它。


6
投票

也您can在下面使用它lowercase

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

输出

68b696d7-320b-4402-a412-d9cee10fc6a3

谢谢!


0
投票

每次都会生成相同的内容:

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

每次生成一个新的:

let uuid = UUID().uuidString
print(uuid)
© www.soinside.com 2019 - 2024. All rights reserved.