这个Objective-C语句是什么意思?

时间:2014-03-19 01:24:18

标签: ios objective-c

我通常可以在几分钟内解读不熟悉的代码,但这是什么:

    NSNumber *one = [NSNumber numberWithInt:rand()%60+20];

来自XYPieChart。

谢谢!

1 个答案:

答案 0 :(得分:5)

rand()返回0到RAND_MAX范围内的伪随机整数。见this link

是模运算符,并查找一个数字除以另一个数的余数。见this link

rand()%60 = 0到59范围内的数字

rand()%60 + 20 =数字范围为20到79

NSNumber是NSValue的子类,它提供任何C标量(数字)类型的值。

+ (NSNumber *)numberWithInt:(int)value

NSNumber的上层方法创建并返回包含给定值的NSNumber对象,将其视为有符号的int。

NSNumber *one = [NSNumber numberWithInt:rand()%60+20];

所以上面的陈述是初始化"一个" NSNumber初始化为20到79之间的随机整数。