手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜Qcloud , 注册 | 登陆

swift srand(time(NULL))

首页 > 苹果相关 >

随机数在OC中真心简单啊 srand(time(null)),可是这样的代码到了 Swift中就行不通了

首先:swift没有null,time(nil)出来的又是 int,但 srand 的传入参数 又是Uint32.。。所以好让人纠结

不过网上还是有高手,他们说,你可以这样:srand(UInt32(time(nil))),看上去和原来的OC几乎一样,当然 他还提出了

XML/HTML代码
  1. But consider to use arc4random() or its variants instead. From http://nshipster.com/random/:  
  2.   
  3. arc4random does not require an initial seed (with srand or srandom), making it that much easier to use.  
  4. arc4random has a range up to 0x100000000 (4294967296), whereas rand and random top out at RAND_MAX = 0x7fffffff (2147483647).  
  5. rand has often been implemented in a way that regularly cycles low bits, making it more predictable.  
  6. For example,  
  7.   
  8. let x = arc4random_uniform(10)  
  9. generates a random number in the range 0 ... 9.  

 

可是还有人说:

XML/HTML代码
  1. let time = UInt32(NSDate().timeIntervalSinceReferenceDate)  
  2. srand(time)  
  3. print("Random number: \(rand()%10)")  

 

得,还是能用就成




本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

Tags: swift, srand

« 上一篇 | 下一篇 »

只显示10条记录相关文章

swift pragma mark (浏览: 8488, 评论: 0)
swift initwithnibname (浏览: 8297, 评论: 0)
UIActionSheetView和UIAlertView (浏览: 6640, 评论: 0)
IOS开发笔记(swift)二 (浏览: 5034, 评论: 0)

发表评论

评论内容 (必填):