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

rat*_*p99 0 objective-c ios

几分钟后我通常可以破译不熟悉的代码,但这是什么:

    NSNumber *one = [NSNumber numberWithInt:rand()%60+20];
Run Code Online (Sandbox Code Playgroud)

它来自XYPieChart.

谢谢!

msk*_*msk 5

rand()返回0到RAND_MAX范围内的伪随机整数.看到这个链接

%是模运算符,并找到一个数除以另一个数的余数.看到这个链接

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

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

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

+ (NSNumber *)numberWithInt:(int)value
Run Code Online (Sandbox Code Playgroud)

上面的NSNumber类方法创建并返回一个包含给定值的NSNumber对象,将其视为signed int.

NSNumber *one = [NSNumber numberWithInt:rand()%60+20];
Run Code Online (Sandbox Code Playgroud)

所以上面的语句用NSNumber初始化"one"来初始化20到79之间的随机整数.