Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone AFNetworking和UIImageView更新线程问题_Iphone_Objective C_Ios_Ipad_Afnetworking - Fatal编程技术网

Iphone AFNetworking和UIImageView更新线程问题

Iphone AFNetworking和UIImageView更新线程问题,iphone,objective-c,ios,ipad,afnetworking,Iphone,Objective C,Ios,Ipad,Afnetworking,因此,我有一个带有自定义UITableViewCells的UITableView,在自定义单元格内我有一个UIImageView,在其中我使用AFNetworking类别加载图像: NSString *imageURLString = [[object.image_ valueForKey:@"low_resolution"] valueForKey:@"url"]; NSURLRequest *imageURLRequest = [NSURLRequest requestWithURL

因此,我有一个带有自定义UITableViewCells的UITableView,在自定义单元格内我有一个UIImageView,在其中我使用AFNetworking类别加载图像:

NSString *imageURLString = [[object.image_ valueForKey:@"low_resolution"] valueForKey:@"url"];
    NSURLRequest *imageURLRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:imageURLString] cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:30];
    [self.imageView_ setImageWithURLRequest:imageURLRequest andAnimate:YES placeholderImage:nil success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image){

    }failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error){
        NSLog(@"FAILED");
    }];

问题是,有时当你向下滚动。。在触发映像请求之前,似乎有很长的延迟。我正在测试一个非常好的连接。为什么会这样


我不确定我自己是在稍后触发映像请求,还是在稍后返回响应。但我看到的是,最初当应用程序加载图像时,加载效果很好。当我向下滚动时,所有的图像都是白色的。。如果我耐心地等待大约60秒,它就会加载。

一种可能的解释是,当你向下滚动列表时,你发出了大量的请求,这些请求在后台执行

当你向下滚动时,发出的请求数量会增加,它们可能会以FIFO顺序在服务器端提供服务(也可能是服务器在将图像传输到应用程序时不会超过给定的带宽),因此当你在看到当前显示的图像之前停止滚动时,您必须等待加载一组以前的图像

这可以解释为什么你会延迟。我建议将和NSLog trace放在成功处理程序中,并记录请求url,这样您就可以看到发生了什么:检查传入图像的流;查看每个图像传输所需的时间


一般来说,您尝试执行的操作应该没有问题,这就是为什么我认为服务器端问题是由您发送的请求数量触发的。

直到触发映像请求,或者直到传输请求的映像并调用成功块为止?仅供参考,服务器是Instagram API的