我正在创建一个 iPhone 应用程序,我尝试使用 URL 从后端服务器获取多个(5-7)高分辨率图像。我需要在幻灯片中设置所有获取的图像,现在的问题是,如果我第一次从服务器获取图像,那么我的图像不会显示。而不是图像,我得到白色背景。再次,如果我返回并获取相同的图像,那么它会正确显示。
这是我的代码:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
for (int i=0; i<[end.slideShowArray count]; i++) {
SlideShow *pro = [[SlideShow alloc] init];
pro = [end.slideShowArray objectAtIndex:i];
NSURL *url = [NSURL URLWithString:pro.imageUrl];
NSData *imageData = [NSData dataWithContentsOfURL:url];
UIImage *img = [UIImage imageWithData:imageData];
dispatch_async (dispatch_get_main_queue (),
^{
[slideshow addImage:img];
});
}
});
最佳答案
您每次都在循环中创建一个新的幻灯片。我认为您打算创建一个幻灯片放映,然后将所有图像添加到其中。
关于ios - 在 iOS 的后台线程中加载多个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27004112/