arc4random实现的问题

时间:2016-01-14 23:09:35

标签: objective-c random

我试图使用$(shell "${R_HOME}/bin${R_ARCH_BIN}/Rscript.exe" -e "Rcpp:::LdFlags()")从数组中获取随机数。我已经尝试了所有我能想到的东西,但是我只是不能让它工作,因为它每次只返回81,这是数组中的项目数。我只是需要它从数组中的许多项目中选择一个随机数。这是我的代码:

arc4random

我做错了什么,应该如何解决?

由于

2 个答案:

答案 0 :(得分:0)

很难理解您的代码,但如果可以,我建议您阅读此post,特别是在如何从NSArray中选择随机元素?

if ([array count] > 0) {
  id obj = array[arc4random_uniform([array count])];
}

答案 1 :(得分:-1)

我解决了!我摆脱了以前尝试让它工作并记录下来以查看问题是否与arc4random或其他内容有关。并且它与其他东西有关,结果是我的if语句,因为正如jcaron指出的那样,我被赋予索引值1而不是比较它。这是我最终得到的代码:

int index = (arc4random() % (81));
    NSString* indexLog = [NSString stringWithFormat:@"Equation number is %i", index];
    NSLog(indexLog);

NSString  *e1 = @"8+2-9=";
NSString  *e2 = @"3x5-7=";
//81 of those strings

if (index == 1) {
    _equationsLabel.text = [NSString stringWithFormat:@"%@",e1];
}
if (index == 2) {
    _equationsLabel.text = [NSString stringWithFormat:@"%@",e2];
//81 of those if statements