我需要一种在swift中生成唯一整数值的方法
//string
let g = NSUUID().UUIDString
如何以int格式完成上述内容?
答案 0 :(得分:1)
听起来像您只想将UUID值或等效的唯一值存储为Int的声音,您可以使用内置的hashValue方法进行操作:
let g = UUID().hashValue
此方法是确定性的,因此在提供相同的UUID时,您将始终获得相同的结果整数。
答案 1 :(得分:0)
Int(rand())会给你随机数,但不是唯一的随机数。使它们独特需要更多的工作。如果要绘制的数字集很小,则可以构建一个var数组,并从数组中随机删除一个数字。
随着数字范围变大,内存需求变得很糟糕。
如果您需要非常大范围的数字但只需要生成相当少数量的数字,您可以将每个数字添加到一组已使用的数字中,然后在返回之前根据已使用的数字测试每个新数字它。在您生成数千个唯一数字之前,这是快速且相当的内存效率。它的内存需求不断攀升。设置成员资格的测试非常快,所以应该没问题。
您能否详细说明您的要求?
答案 2 :(得分:-1)
使用以下方法计算出来:
Int(rand())