2011-03-17 65 views

回答

1

numberWithInteger:需要你給它一個int來創建NSNumber。你給它一個對象,因爲objectAtIndex:返回一個對象。

即使您在該行的對象是NSNumber或其他任何東西,您仍然需要以某種方式從中獲取實際的int數據類型。

例如,如果你回來的對象是一個NSNumber,你可能有這樣的事情到底:

NSNumber * myNSNum = [buttonStatsInSection objectAtIndex:row]; 
int myInt = [myNSNum intValue]; 
[NSNumber numberWithInteger:myInt]; 
+0

你能告訴我怎麼樣嗎? – 2011-03-17 05:27:02

+0

@Stan Pak:從'objectItIndex:'返回什麼類型的對象? – 2011-03-17 05:28:06

+0

@Chris Cooper:NSNumber – 2011-03-17 05:30:12

2

你爲什麼要創建一個新的NSNumber對象?你真的需要它的一個副本,還是你想要參考它?你打算怎麼處理它?如果你想要一個副本,你可以做:

NSNumber* copy = (NSNumber*)[[buttonStatsInSection objextAtIndex:row] copy]; 

否則只是做:

NSNumber* num = (NSNumber*)[buttonStatsInSection objextAtIndex:row]; 

無論哪種方式,沒有必要去通過提取int值的過程和將其轉換回到一個NSNumber