我該如何解決這個問題?傳遞參數...從指針中取整數而不投射
代碼:
[NSNumber numberWithInteger:[buttonStatsInSection objectAtIndex:row]]
警告:傳遞 'numberWithInteger:' 的參數1時將指針整數,未作鑄造
感謝。
我該如何解決這個問題?傳遞參數...從指針中取整數而不投射
代碼:
[NSNumber numberWithInteger:[buttonStatsInSection objectAtIndex:row]]
警告:傳遞 'numberWithInteger:' 的參數1時將指針整數,未作鑄造
感謝。
numberWithInteger:
需要你給它一個int
來創建NSNumber
。你給它一個對象,因爲objectAtIndex:
返回一個對象。
即使您在該行的對象是NSNumber
或其他任何東西,您仍然需要以某種方式從中獲取實際的int
數據類型。
例如,如果你回來的對象是一個NSNumber
,你可能有這樣的事情到底:
NSNumber * myNSNum = [buttonStatsInSection objectAtIndex:row];
int myInt = [myNSNum intValue];
[NSNumber numberWithInteger:myInt];
你爲什麼要創建一個新的NSNumber對象?你真的需要它的一個副本,還是你想要參考它?你打算怎麼處理它?如果你想要一個副本,你可以做:
NSNumber* copy = (NSNumber*)[[buttonStatsInSection objextAtIndex:row] copy];
否則只是做:
NSNumber* num = (NSNumber*)[buttonStatsInSection objextAtIndex:row];
無論哪種方式,沒有必要去通過提取int值的過程和將其轉換回到一個NSNumber
你能告訴我怎麼樣嗎? – 2011-03-17 05:27:02
@Stan Pak:從'objectItIndex:'返回什麼類型的對象? – 2011-03-17 05:28:06
@Chris Cooper:NSNumber – 2011-03-17 05:30:12