2015-04-04 57 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

相关问题