Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> IOS

ขี้เกียจโหลดภาพในมุมมองตารางโดยใช้ Swift


ในการโหลดรูปภาพในเซลล์มุมมองตาราง เราจะดำเนินการตามขั้นตอนต่างๆ

สร้างมุมมองตาราง เซลล์มุมมองตาราง และเพิ่มมุมมองรูปภาพ

กำหนดคลาสที่กำหนดเองให้กับเซลล์ที่เราสร้างขึ้น

ในเซลล์สำหรับ row at method ให้เขียนโค้ดต่อไปนี้

let cell = tblView.dequeueReusableCell(withIdentifier: "CustomCell") as! CustomCell
return cell

ในการดาวน์โหลดรูปภาพ เราจะสร้างฟังก์ชันและฝังลงในส่วนขยาย

func setImageFromUrl(ImageURL :String) {
   URLSession.shared.dataTask( with: NSURL(string:ImageURL)! as URL, completionHandler: {
      (data, response, error) -> Void in
      DispatchQueue.main.async {
         if let data = data {
            self.image = UIImage(data: data) 
         }
      }
   }).resume()
}

ตอนนี้ฝังฟังก์ชันเดียวกันลงในส่วนขยายของ UIImageView เพื่อใช้กับรูปภาพใดก็ได้

ใน Cell for row at method ฟังก์ชันต่อไปนี้ โดยที่ img เป็นช่องทางออกในคลาสที่กำหนดเอง

cell.img.setImageFromUrl(ImageURL: url)

ในตัวอย่างนี้ ฉันใช้รูปภาพจากโอเพ่นซอร์ส "https://homepages.cae.wisc.edu/~ece533/images/boat.png”

เมื่อเรารันโค้ดเดียวกันบนเครื่องจำลอง iPhone 7+ ผลลัพธ์ด้านล่างนี้คือ -

ขี้เกียจโหลดภาพในมุมมองตารางโดยใช้ Swift