Cell Registration & Dequeuing with Swift Features
ถ้าบอกว่าคลาสใน UIKit ตัวไหน ที่เราใช้กันบ่อยมากที่สุด ก็คงจะหนีไม่พ้น UITableView และ UICollectionView นั่นแหละนะ และงานที่เราต้องทำกันบ่อยๆ นอกเหนือจากการ Custom Cell ให้เป็นรูปแบบที่เราต้องการ ถ้า Cell ที่เราสร้างขึ้นอาจจะมีการนำมาใช้ใหม่ สิ่งที่เราต้องทำคือ สร้าง XIB file ขึ้นมาและก็ต้อง Register ให้รู้ด้วยว่าจะมี Cell อีกรูปแบบเข้ามาในระบบ คราวนี้มาดูเวลาเราเขียนโค้ดแบบปกติกันก่อน ว่าที่ผ่านมา ผมและหลายๆ คนทำกันยังไง เริ่มจาก UITableView และ UICollectionView นั้นมี API ที่เอาไว้ให้เรา Register Cell ดังนี้ Wait for the Code .... และวิธีการเขียน Datasource โดยทั่วไปก็จะเขียนกันแบบนี้ โดยอ้างถึง Reuse Identifier ด้วยค่าคงที่ที่ประกาศไว้ด้านบน Wait for the Code .... คราวนี้เราจะมาลองดูกันว่า เราจะทำให้โค้ดชุดนี้เรียบง่าย และปลอดภัยขึ้นได้อย่างไร ด้วยการใช้ Feature ของ Swift นั่นคือ Generics และ Protocol Extension เริ่มจาก ปกติแล้วผมก็จะตั้ง Reuse Identifier ตามชื่อ Cell Class (Nib File) นั่นแหละ เช่น Class ชื่อ BookCell ก็ตั้งว่า BookCell ในเ...