2014-03-19 35 views
0

我通常能破譯陌生的代碼,賦予了幾分鐘,但是這是什麼:這個Objective-C語句是什麼意思?

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

這是一個從XYPieChart。

謝謝!

+2

這是一個隨機數,模數60,再加上20,放入一個NSNumber。 (換句話說,一個介於20和79之間的數字。) –

回答

5

rand()返回0到RAND_MAX範圍內的僞隨機整數。請參見this link

是模運算符,可以找到一個數除以另一個數的其餘部分。見this link

蘭特()%60 =在範圍數0〜59

蘭特()%60 + 20 =在範圍數20〜79

NSNumber是NSValue的子類它以任何C標量(數字)類型提供值。

+ (NSNumber *)numberWithInt:(int)value 

上面的NSNumber方法創建並返回一個包含給定值的NSNumber對象,將其視爲一個帶符號的整型。

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

所以上面的語句是初始化「一」與NSNumber的與20之間的隨機整數初始化爲79

+1

我很感激。事實上,看起來像一個有用的東西,一旦我把頭伸到它周圍。謝謝! – rattletrap99

+0

@TimJones很高興答案得到了幫助。 – msk