ในการโหลดรูปภาพในเซลล์มุมมองตาราง เราจะดำเนินการตามขั้นตอนต่างๆ
สร้างมุมมองตาราง เซลล์มุมมองตาราง และเพิ่มมุมมองรูปภาพ
กำหนดคลาสที่กำหนดเองให้กับเซลล์ที่เราสร้างขึ้น
ในเซลล์สำหรับ 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+ ผลลัพธ์ด้านล่างนี้คือ -