在更改(偶然)模拟器(从32位到64位平台)时收到很多警告后,我删除了所有int
声明并更改NSinteger
的声明}第
但是我在这段代码中还有另一个警告:
- (IBAction)nextText:(UIBarButtonItem *)sender {
NSInteger i=[self.indexPathArray indexOfObject:[self indexPathForActiveText]];
//before it was int i=...
if (i<[self.indexPathArray count]-1) {
[self moveRows:++i];
}
}
但是在[self moveRows:++i];
行上我再次收到此警告:
&#39;隐式转换失去整数精度:...&#39;
答案 0 :(得分:3)
它应该在64位平台上显示警告。 NSInteger i=[self.indexPathArray indexOfObject:[self indexPathForActiveText]];
由于indexOfObject:
返回NSUInteger.
所以您的代码应如下所示
NSUInteger i=[self.indexPathArray indexOfObject:[self indexPathForActiveText]];
还
-(void)moveRows:(NSUInteger)index;