2014-02-16 110 views
0

我正在從Web中獲取數據,並且遇到了返回的數字問題。例如,當從服務器返回int 1時,我嘗試將該int轉換爲NSNumber,NSNumber的值爲151241152.該數字每次都略有不同,但總是超過10億次。這裏是我的代碼:將int轉換爲NSNumber時出錯

int agrees = (int)[info objectForKey:kWaveAgrees]; 
wave.numberOfAgrees = [NSNumber numberWithInt:agrees]; 

有沒有人知道爲什麼會發生這種情況?

+2

的可能重複的[如何轉換的NSNumber在Objective-C爲int(http://stackoverflow.com/questions/3555906/how-to-convert-nsnumber-to-int-in-objective- c) – rmaddy

+0

試試'NSLog(@「%@」,[info objectForKey:kWaveAgrees]);'。這給了你什麼? – Undo

+0

如果返回的值是'number'類型,則可以將整數值直接分配給'numberOfAgrees'。 – Anupdas

回答

1

NSNumber是一個對象。你不能將它轉換爲int類型,它必須先被拆箱。

int agrees = [[info objectForKey:kWaveAgrees] intValue]; 
相關問題