独特的整数值

时间:2015-10-09 22:56:04

标签: ios swift

我需要一种在swift中生成唯一整数值​​的方法

//string
let g = NSUUID().UUIDString

如何以int格式完成上述内容?

3 个答案:

答案 0 :(得分:1)

听起来像您只想将UUID值或等效的唯一值存储为Int的声音,您可以使用内置的hashValue方法进行操作:

let g = UUID().hashValue

此方法是确定性的,因此在提供相同的UUID时,您将始终获得相同的结果整数。

答案 1 :(得分:0)

Int(rand())会给你随机数,但不是唯一的随机数。使它们独特需要更多的工作。如果要绘制的数字集很小,则可以构建一个var数组,并从数组中随机删除一个数字。

随着数字范围变大,内存需求变得很糟糕。

如果您需要非常大范围的数字但只需要生成相当少数量的数字,您可以将每个数字添加到一组已使用的数字中,然后在返回之前根据已使用的数字测试每个新数字它。在您生成数千个唯一数字之前,这是快速且相当的内存效率。它的内存需求不断攀升。设置成员资格的测试非常快,所以应该没问题。

您能否详细说明您的要求?

答案 2 :(得分:-1)

使用以下方法计算出来:

Int(rand())