ここにコードがあります。これは私のUICollectionViewDataSource
クラスにあります。 collectionviewはcellForItemAtIndexPath内の1つのイメージのみをダウンロードします
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let identifier = "UICollectionViewCell"
let photo = photos[indexPath.row]
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: identifier, for: indexPath) as! PhotoCollectionViewCell
let url = ImageUploaderAPI.urlForPhotoPath(photoTitle: photo.remoteURL)
if (photo.image == nil) {
Alamofire.download(url).downloadProgress { progress in
print("Download Progress: \(progress.fractionCompleted)")
}
.responseData { response in
if let data = response.result.value {
let image = UIImage(data: data)
photo.image = image!
cell.updateWithImage(image: image)
print("Downloaded: " + url.absoluteString)
collectionView.reloadData()
}
}
} else {
cell.updateWithImage(image: photo.image)
}
return cell
}
progress.fractionCompleted
ちょっと、徹底的な答えをありがとう。残りの部分はダウンロードされたようですが、 'responseData'コールバックは決して呼び出されません。何か案は? –