2015-04-04 147 views
-1

我正在處理將舊iOS5代碼升級到iOS8。隱式轉換失去整數精度:'unsigned long'爲'int'

我的原代碼:

NSInteger maximumValue = -1; 
if (results.count == 1) { 
    Answer *result = (Answer*)[results objectAtIndex:0]; 
    maximumValue = [result.order integerValue]; 
} 
return maximumValue+1; 
} 

返回錯誤隱式轉換損失整數精度:長爲int

如果我從NSInteger改變NSUInteger我得到錯誤隱式轉換失去整數精度:

'unsigned long'to int'

我已經能夠更新所有int的NSUInteger,這兩個問題是我剩下的唯一兩個,我正在旋轉我的車輪。

+0

'result.order'是什麼類型的對象? – Dima 2015-04-04 17:13:03

+0

奇怪。嘗試將所有的'NSInteger's更改爲'int'並在'result.order'上調用'intValue'。 'result.order'是一個'NSString'嗎? – 2015-04-04 17:24:38

+0

這些是警告,而不是錯誤。 – nhgrif 2015-04-04 23:38:50

回答

0

您的問題幾乎可以肯定的是,您的方法或功能(無論return返回)返回類型爲int。它應該有一個返回類型NSInteger