如何在 iOS 裝置上使用 Swift 載入 URL 中的圖片?
要使用 Swift 在 iOS 中載入圖片,我們將使用簡單的 Data Task 會話。圖片需要在後臺載入,因為它可能很大,我們不希望它阻止主檢視的操作。
讓我們透過一個例子來了解這一點。建立一個空專案並新增一個空的 Image View。
建立其出口,然後我們將編寫程式碼從 URL 獲取圖片。這就是我們應用程式目前的樣子。

現在,讓我們新增程式碼從 URL 獲取圖片。
func getData(from url: URL, completion: @escaping (Data?, URLResponse?, Error?) -> ()) {
URLSession.shared.dataTask(with: url, completionHandler: completion).resume()
}
func downloadImage(from url: URL) {
getData(from: url) {
data, response, error in
guard let data = data, error == nil else {
return
}
DispatchQueue.main.async() {
self.image = UIImage(data: data)
}
}
}當我們執行此程式碼時,它將從 URL 下載圖片,我們可以建立一個圖片物件並使用新物件初始化我們的 imgView。
但是,讓我們為此方法建立一個擴充套件並使用它。
extension UIImageView {
func getData(from url: URL, completion: @escaping (Data?, URLResponse?, Error?) -> ()) {
URLSession.shared.dataTask(with: url, completionHandler: completion).resume()
}
func downloadImage(from url: URL) {
getData(from: url) {
data, response, error in
guard let data = data, error == nil else {
return
}
DispatchQueue.main.async() {
self.image = UIImage(data: data)
}
}
}
}現在,在我們的 viewDidLoad(或您喜歡的任何其他位置)中新增以下程式碼。
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "https://static.independent.co.uk/s3fs-public/thumbnails/image/2017/09/12/11/naturo-monkey-selfie.jpg?w968h681")
self.imgView.downloadImage(from: url!)
}當我們在裝置上執行此程式碼時,我們將得到以下結果。

廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP