由于未捕获的异常终止应用程序' NSInvalidArgumentException',原因:' - [__ NSCFString isFileURL]:无法识别的选择器发送到实例

时间:2016-12-16 12:59:33

标签: ios objective-c imageview

我有一个url数组:

imageurl =  

   (
        "http://10.1.1.4:8084/Photos/AA/c6aee8617ec94116911e17f745ced4d8.jpg",
        "http://10.1.1.4:8084/Photos/AA/75764b74fbc440c790ff235e5336223e.jpg",
        "http://10.1.1.4:8084/Photos/AA/4b390e733d8c48a6931079120af60b0a.jpg",
        "http://10.1.1.4:8084/Photos/AA/2fade8440ae74b4dabdaff5dc13c5128.jpg"
    );

我正在尝试使用以下代码在url上实现带有图像的水平滚动视图:

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    int pageCount=4;
    _scroller.pagingEnabled=YES;
    _scroller.contentSize=CGSizeMake(pageCount*_scroller.bounds.size.width,_scroller.bounds.size.height);
    CGRect ViewSize=_scroller.bounds;

    NSArray *imgArray = [self.tripDetails valueForKey:@"Flightimageurl"];


    for(int i=0;i<[imgArray count];i++)
    {

         UIImageView *imgView1=[[UIImageView alloc]initWithFrame:ViewSize];

        NSURL *url=[imgArray objectAtIndex:i];
        NSData *data = [NSData dataWithContentsOfURL:url];


        imgView1.image=[UIImage imageWithData:data];
        [_scroller addSubview:imgView1];
        [self.view addSubview:_scroller];
        ViewSize =CGRectOffset(ViewSize,_scroller.bounds.size.width,0);

    }

但是这会崩溃并给出上述异常。如何修复此问题以及来自网址的图片可以显示在imageView

1 个答案:

答案 0 :(得分:3)

由于您的imgArray包含NSString个对象而不是NSURL个对象,导致此次崩溃,因此首先您需要从该NSURL个实例创建NSString个实例

NSURL *url = [NSURL URLWithString:[imgArray objectAtIndex:i]];