Я пытаюсь назначить изображение для массива, а затем отобразить изображение, однако оно не отображается. Как вы можете видеть, после того, как я назначил изображение для массива следующим образом:
self.imageArray.append(UIImage(data: data!)!)
Я печатаю self.imageArray, и он печатает, так что я знаю, что он там - по какой-то причине он просто не отображается. Он отображался, когда я вручную устанавливал изображения в массиве.
Вот полный соответствующий код
import UIKit
class OpenView: UIViewController {
// Scroll view because I'm going to have multiple images
@IBOutlet weak var imageScrollView: UIScrollView!
// Receiving the string url for the image
var fullReceievingImageString: String? = ""
// Establishing the Array
var imageArray = [UIImage]()
override func viewDidLoad() {
super.viewDidLoad()
// Convert the url to an image
if let imageUrl = fullReceievingImageString {
let url = URL(string: imageUrl)
URLSession.shared.dataTask(with: url!) { (data, response, error) in
if error != nil {
print(error!)
return
}
DispatchQueue.main.async {
// Apply the image to the array
self.imageArray.append(UIImage(data: data!)!)
print(self.imageArray)
}
}.resume()
}
// Establish the image view(s)
for i in 0..<imageArray.count {
let imageView = UIImageView()
imageView.image = imageArray[i]
imageView.contentMode = .scaleAspectFit
let xPosition = self.view.frame.width * CGFloat(i)
imageView.frame = CGRect(x: xPosition, y: 0, width: self.imageScrollView.frame.width, height: self.imageScrollView.frame.height)
imageScrollView.contentSize.width = imageScrollView.frame.width * CGFloat(i + 1)
imageScrollView.addSubview(imageView)
}
}
}