SDWebImage完成:未调用完成块

时间:2017-10-17 09:08:24

标签: ios swift sdwebimage

我有一个字符串,其中我用逗号分隔图片网址,然后将其拆分为数组: _______________ | | A | B | |===+=====+=====| | A | OK | X | |---+-----+-----| | B | X | OK | |___|_____|_____| 。接下来,使用for循环我将下载的图像存储在let imagesLinks = imageLins.components(separatedBy: ",")中:

imagesArray

现在的问题是它发送了调用但是没有调用for imag in imagesLinks { let img = UIImageView() let activityIndicator: UIActivityIndicatorView = UIActivityIndicatorView.init(activityIndicatorStyle: .white) let refreshBarButton: UIBarButtonItem = UIBarButtonItem(customView: activityIndicator) self.navigationItem.rightBarButtonItem = refreshBarButton activityIndicator.startAnimating() let imgURL: URL = URL(string: "\(baseReportImageURL)\(imag)")! img.sd_setImage(with: imgURL, completed: { (image, error, cacheType, url) in activityIndicator.stopAnimating() imagesArray.append(image!) self.photoCollection.reloadData() }) // img.sd_setImage(with: imgURL, placeholderImage: nil,options: SDWebImageOptions(rawValue: 0), completed: { (image, error, cacheType, imageURL) in // //activityIndicator.stopAnimating() // imagesArray.append(image!) // self.photoCollection.reloadData() // }) } 块。如果我再次返回并再次推动视图控制器,它会立即进入completed:块。所以我的假设是它可能已下载并缓存图像,当它再次被调用时,检查图像是否已经下载,因此它在那时运行块。 但是为什么它第一次跳过它?

其次,我在这个名为completed:的自定义函数中调用来自viewDidLoad()的自定义函数,这是我的for循环。此外,func downloadAndUpdateImagesAarray()是一个集合视图,单元格上只有图像。

0 个答案:

没有答案