请你能帮助我!
我有16个UIlabels(label,label1,label2,label3)的代码......
enter code here
>int randomText = rand() %16;
>switch (randomText) {
> case 0:
> label.text = @"1";
> break;
> case 1:
> label.text = @"2";
> break;
> case 2:
> label.text = @"3";
> break;
> case 3:
> label.text = @"4";
> break;
> case 4:
> label.text = @"5";
> break;
> ......\
我们需要IBACTION生成一个随机数(exampple_range在1到16之间),并将结果Outpout到项目XCode中的不同16个UILAbels,不要在标签之间重复,再重新开始时不重复。
-16 UILABELS随机数。 - 不要在16 UILAbels中重复编号。
我们需要(IBACTION)或Void的示例:
>Label_1=5
>Label_2=9
>Label_3=2
>Label_4=14
>Label_5=1
>Label_6=15
>Label_7=16
>Label_8=3
>Label_9=4
>Label_10=6
>Label_11=12
>Label_12=8
>Label_13=13
>Label_14=9
>Label_15=16
>Label_16=15
答案 0 :(得分:1)
不是生成随机数,而是使用数字/字符串随机播放数组。
NSArray *vals = @[@"1", @"2", @"3", @"4", @"5", @"6", @"7", @"8", @"9", @"10", @"11", @"12", @"13", @"14", @"15", @"16"];
NSUInteger count = [vals count];
for (NSUInteger i = 0; i < count; ++i) {
NSInteger nElements = count - i;
NSInteger n = arc4random_uniform(nElements) + i;
[vals exchangeObjectAtIndex:i withObjectAtIndex:n];
}
然后,为每个标签设置其值:
label.text = vals[index];
作为建议,将标签设置为自己的数组,因此在对数组进行洗牌之后,您可以轻松地在一个循环中设置值。
NSUInteger vCount = [vals count];
NSUInteger lCount = [labels count];
NSUInteger count = MIN(vCount, lCount);
for (NSUInteger i = 0; i <= count; i++) {
UILabel *lbl = labels[i];
lbl.text = vals[i];
}
希望它有所帮助。