"隐式转换失去整数精度"获得随机数字

时间:2015-05-11 18:41:28

标签: ios objective-c random arc4random

我的计划是获取数组的随机成员,因此,我尝试了解决方案,首先生成随机数:

NSUInteger rnd = arc4random_uniform([myArray count]);

然而,我收到了警告"隐式转换失去了整数精度"。

如何解决这个警告?是否有其他方法可以获得不会引起任何警告的随机值?我更喜欢代码实现,而不是通过设置作为类似问题的几个答案。

1 个答案:

答案 0 :(得分:1)

只需将代码更改为以下内容:

NSUInteger rnd = arc4random_uniform((uint32_t) [myArray count]);

编译器在您的机器上发出警告,NSUInteger是64位的typedef,其他设备可能不是这种情况。因此,施放它,删除警告。