單擊按鈕時如何生成一個隨機數字,並根據該數字生成不同的操作。iphone sdk中的隨機數?
我可能只需要從1-10的隨機數。
-(IBAction)buttonClicked{
"generate the random number"
if(number == 1){
something happens
}
else if(number == 2){
somethine else happens
}
etc
}
單擊按鈕時如何生成一個隨機數字,並根據該數字生成不同的操作。iphone sdk中的隨機數?
我可能只需要從1-10的隨機數。
-(IBAction)buttonClicked{
"generate the random number"
if(number == 1){
something happens
}
else if(number == 2){
somethine else happens
}
etc
}
還有,請,如果要生成從1隨機數到10 ......使用開關,而不是一堆如果{}否則,如果{}條款:
switch (arc4random() % 10){
case 0:
//blah blah
break;
case 1:
//blah blah
break;
//etc etc
}
更好的是,使用合適的算法來0之間產生隨機數,並* n *從0到* n_max之間的隨機數的均勻分佈*:在java.util.Random#nextInt(int)中實現的一個非常深思熟慮:http://java.sun.com/javase/ 6 /文檔/ API/JAVA/util的/ Random.html#nextInt%28int%29 – Joey
與obj-c是C語言的超集,您可以自由使用rand功能
沒有與蘭特(),它大約有職位的負荷的一些問題,他們建議您使用arc4random()
代替。該功能自動播種,並具有「更好」的數字生成算法。
int myNumber = arc4random() % 10
這意味着myNumber
將在0-9之間。
所以你的情況,你想:
int number = (arc4random() % 2) + 1;
它會給你一個範圍1-2。
如果你需要加密的安全隨機數你可以使用:
int SecRandomCopyBytes (
SecRandomRef rnd,
size_t count,
uint8_t *bytes
);
描述here。
我有好成功與arc4random() - 只是模數來設置一個範圍。例如:
arc4random()%100;
我會積極避免使用rand(),因爲它不會產生真正的隨機數字,它需要播種。
NSArray *arr=[NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10", nil]; NSMutableArray *valueArray=[[NSMutableArray alloc]init];
int count=0; while(count<5) { int rand= arc4random()%10; NSLog(@"%d",rand); NSString *str=[arr objectAtIndex:rand]; if(![valueArray containsObject:str]) { [valueArray addObject:str]; count++; } } NSLog(@"%@",valueArray);
http://stackoverflow.com/questions/160890/generating-random-numbers-in-objective-c –