隐式转换失去整数精度:'unsigned long'到'int' - 错误

时间:2014-10-20 16:55:26

标签: ios objective-c cocoa-touch uikit

我在这里看到了一些关于同样错误的Q& A,但没有一个是有帮助的。我仍然得到同样的错误。我需要改变什么?这就是我现在所拥有的。
该错误与此行有关:imageIndex =(imageIndex< 0)? ([图像数] -1):
谢谢你的帮助!

#import "Photogallery.h"

@interface Photogallery ()


@end

@implementation Photogallery
@synthesize imageView;
int imageIndex = 10;

- (void)viewDidLoad {
[super viewDidLoad];


}
- (IBAction)handleSwipe:(UIGestureRecognizer *)sender {

NSArray *images=[[NSArray alloc]initWithObjects:@"1.jpg",@"2.jpg",@"3.jpg",@"4.jpg",@"5.jpg",@"6.jpg",@"7.jpg",@"8.jpg",@"9.jpg",@"10.jpg", nil];

UISwipeGestureRecognizerDirection direction = [(UISwipeGestureRecognizer *)sender direction];

switch (direction) {
    case UISwipeGestureRecognizerDirectionLeft:
        imageIndex++;
        break;
    case UISwipeGestureRecognizerDirectionRight:
        imageIndex--;
        break;

    default:
        break;
}
imageIndex = (imageIndex < 0) ? ([images count] -1):
imageIndex % [images count];
imageView.image = [UIImage imageNamed:[images objectAtIndex:imageIndex]];
}


@end

1 个答案:

答案 0 :(得分:3)

在Objective-C代码中使用NSInteger,而不是int。

这是一个非常好的解释:

When to use NSInteger vs. int