アプリに関するサポートが必要です。 0から15までの整数用の乱数ジェネレーターを作成する必要があります。作成した数値に応じて、対応する数値のビューにプッシュします。これは私がそれが動作するようにする方法です
ボタンを押す->乱数ジェネレーターは0から15の間の数値を与える->ビューは、乱数ジェネレーターが与える数値を割り当てられた別のビューにプッシュします。
誰でもコードを手伝ってくれますか?ありがとう
arc4random()
は、標準のObjective-C乱数ジェネレーター関数です。ゼロから...まあ、15以上の数字が表示されます!次のコードを使用して、0〜15の数値(0、1、2、... 15)を生成できます。
NSInteger randomNumber = arc4random() % 16;
次に、スイッチまたは一連のif
/else
ステートメントを実行して、別のView Controllerをプッシュできます。
UIViewController *viewController = nil;
switch (randomNumber)
{
case 0:
viewController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
break;
// etc ...
}
[self.navigationController pushViewController:viewController animated:YES];
むしろ、質問を読み直すと、次のようになります。
UIViewController *viewController = [[MyViewController alloc] initWithNibName:@"MyViewController"
viewController.number = randomNumber;
そして、MyViewControllerサブクラスにNSInteger
プロパティがあります。
arc4random_uniform
を使用できます
NSUInteger r = arc4random_uniform(16);
Appleによると、最良の方法はarc4random_uniformを使用して上限を渡すことです。
arc4random_uniform(16)
ドキュメントから:
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:
...
}
Swift 4.2では、乱数を作成するために「arc4random_uniform」関数を呼び出す必要はありません。関数「random(in:RANGE)」を呼び出すことができます。
//Create Random numbers Swift 4.2
//Int
let randomInt = Int.random(in: 1...10)
//Double
let radomDouble = Double.random(in: 1...10)
//Float
let randomFloat = Double.random(in: 1...10)
これにはC関数Rand()
を使用できます。
これにより、1〜30の整数が生成されます。代わりに、arc4random
このような関数:
int i = arc4random() % 30;
NSLog(@"Random Number: %i", i);
extension CGFloat {
static func random() -> CGFloat {
return CGFloat(arc4random()) / CGFloat(UInt32.max)
}
}