在我的iOS Swift应用程序中,我想生成随机UUID (GUID)字符串用作表键,这段代码似乎可以工作:

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

这样安全吗?

或者是否有更好的(推荐的)方法?


当前回答

你也可以使用NSUUID API:

let uuid = NSUUID()

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

注意,NSUUID可从iOS 6及更高版本使用。

其他回答

试试这个:

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

斯威夫特3/4/5

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

你也可以在下面使用小写字母

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

输出

68B696D7-320B-4402-A412-D9CEE10FC6A3

谢谢你!

你也可以使用NSUUID API:

let uuid = NSUUID()

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

注意,NSUUID可从iOS 6及更高版本使用。

每次都会生成相同的:

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

每次都会生成一个新的:

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

UUID是一个简单的结构,它具有uuidString属性。 uuidString -返回由UUID创建的字符串,例如“E621E1F8-C36C-495A-93FC-0C247A3E6E5F”。

UUID保证是唯一的。

斯威夫特代码:

let identifier = UUID().uuidString
Swift.print(identifier) // Result: "6A967474-8672-4ABC-A57B-52EA809C5E6D"

关于UUID的苹果官方文档。 全文https://tonidevblog.com/posts/how-to-generate-a-random-unique-identifier-with-uuid/