Sam*_*Sam 27 xcode objective-c ipad ios
我需要一些应用程序的帮助.我需要为0到15之间的整数创建一个随机数生成器,然后根据创建的数字推送到具有相应数字的视图.这就是我希望它的工作方式
按下按钮 - >随机数生成器给出0到15之间的数字 - >视图推送到另一个已分配随机数生成器给出的数字的视图.
任何人都可以帮我代码吗?谢谢
Ash*_*row 97
arc4random()
是标准的Objective-C随机数生成器功能.它会给你一个零到......之间的数字,超过十五!您可以使用以下代码生成0到15之间的数字(因此,0,1,2,... 15):
NSInteger randomNumber = arc4random() % 16;
Run Code Online (Sandbox Code Playgroud)
然后你可以做一个开关或一系列if
/ else
语句来推送一个不同的视图控制器:
UIViewController *viewController = nil;
switch (randomNumber)
{
case 0:
viewController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
break;
// etc ...
}
[self.navigationController pushViewController:viewController animated:YES];
Run Code Online (Sandbox Code Playgroud)
或者更确切地说,在重新阅读问题时,它将如下所示:
UIViewController *viewController = [[MyViewController alloc] initWithNibName:@"MyViewController"
viewController.number = randomNumber;
Run Code Online (Sandbox Code Playgroud)
并且你NSInteger
在MyViewController子类上有一个属性.
Rém*_*rin 19
您可以使用 arc4random_uniform
NSUInteger r = arc4random_uniform(16);
Run Code Online (Sandbox Code Playgroud)
fro*_*975 10
根据Apple的说法,最好的方法是使用arc4random_uniform并传递上限:
arc4random_uniform(16)
Run Code Online (Sandbox Code Playgroud)
来自文档:
arc4random_uniform()将返回小于upper_bound的均匀分布的随机数.arc4random_uniform()建议使用像``arc4random()%upper_bound''这样的结构,因为当上限不是2的幂时,它避免了"模偏差".
int randomIndex = arc4random() % 14 + 1 ; // gives no .between 1 to 15 ..
switch (randomIndex)
{
case 0 :
push view 1 ;
break;
case 1:
...
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
55899 次 |
最近记录: |