计算机产生的随机数并不是真正随机的,所以叫 伪随机数。当“种子”固定时,它产生的随机数序列是不变的,例如产生10个数,这10个数大小是变化的,但只要用这个种子,每次产生的这10个数序列,是一模一样的。用 srand(time(0)); 设种子,就会因时间变化,得到不同的种子,那么随机数序列就会变化。time(0) 是当前时间,(精度可能是[毫秒]。只要两次跑程序启动时间差别 超过1[毫秒],两个序列就不同了(随机)。如果时间差别不到1[毫秒]两个序列就没变化
1.随即给view一个颜色,点击屏幕事颜色发生改变
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
for (int i =0; i<20; i++)
{
UIView *view =[[UIView alloc]initWithFrame:CGRectMake(WIDTH/20*i, HEIGHT/2, WIDTH/20, HEIGHT)];
view.backgroundColor =[self randomcolor];
[self.view addSubview:view];
}
}
- (UIColor *)randomcolor
{
static BOOL seeded = NO;
if (!seeded)
{
srand48(time(0));
seeded = YES;
}
CGFloat r = (CGFloat)drand48();
CGFloat g = (CGFloat)drand48();
CGFloat b = (CGFloat)drand48();
return [UIColor colorWithRed:r green:g blue:b alpha:1.0];
}