쉼표로 이미지 링크를 구분 한 문자열이 있습니다. 다음은 배열로 분할하는 방법입니다 : let imagesLinks = imageLins.components(separatedBy: ",")
.SDWebImage는 URL에 nil을 부여합니다.
for imag in imagesLinks
{
let img = UIImageView()
print("\(baseReportImageURL)\(imag)")
img.sd_setImage(with: URL(string: "\(baseReportImageURL)\(imag)"), placeholderImage: nil)
imagesArray.append(img.image!)
}
문이 내게 브라우저를 열고 정확한 URL을주고 인쇄가 다운로드 : 그럼, 하나 개의 링크를 얻을 이미지를 다운로드하고이 방법으로 UIImage
배열에 저장하는 for 루프를 사용했습니다 영상. 문제는 배열을 추가하는 행에 있습니다 (예 : imagesArray.append(img.image!)
). 내가 얻을 :
fatal error: unexpectedly found nil while unwrapping an Optional value
및
fatal error: unexpectedly found nil while unwrapping an Optional value
는 그래서 이것에 대한 올바른 해결책이 될 것인가?
UPDATE
내가 SDWebImage
을 사용하고 내가 완료 블록을 사용하면 응용 프로그램의 이상한 행동이있어 때문에 내 질문은 다릅니다
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()
})
그래서이 활동을 계속 회전 표시기로 돌아가서 다시보기를 누르면 즉시 이미지가로드됩니다. 그래서 이미지가 다운로드 될 때 완료 블록이 호출되지 않지만 그 이유는 무엇입니까?
imagesArray.append(img.image!)
이미지 다운로드에 대한 약간의 시간을 가지고 있기 때문에
가능한 복제를 수행을 위해 [URL 이미지가 존재하는 경우 확인이 블록 (https://stackoverflow.com/questions/29962938/check-if -url-image-exist) – Desdenova
'imageLinks'에 빈 링크가 없는지 확인하십시오. –
@Chaudhry Talha 당신은 업데이트 후에 이미지 배열을 가져 옵니까? –