【发布时间】:2014-04-01 07:20:02
【问题描述】:
我正在更新我的一个旧项目。我进展顺利,一切顺利。
昨天当我完成工作时,我的项目一切正常,没有错误,没有警告。
突然间,当我今天开始这个项目时,没有按一个键,我一下子收到了 23 个警告。他们都是:
Implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int'
有人经历过类似的事情吗?为什么昨天还好好的,今天却一团糟?
编辑。举个例子:
- (IBAction)previousText:(UIBarButtonItem *)sender {
int i=[self.indexPathArray indexOfObject:[self indexPathForActiveText]];
if (i>0) {
[self moveRows:i-1];
}
}
编辑原来(我不知道为什么)我使用的模拟器是 iPhone Retina(64 位)。我换回 iPhone 3.5 英寸(32 位),所有警告都消失了。
现在的问题是,如何让它兼容两种设备?
【问题讨论】:
-
在显示警告的地方显示那行代码。
-
我认为您使用 Xcode 5.1 只需在收到警告的地方添加 (int)。
-
你的 indexPathForActiveText 返回什么类型?
-
indexPathArray 保存 indexPaths。 [self indexPathForActiveText] 方法返回活动文本字段的索引路径
标签: xcode ios7 compiler-warnings nsuinteger