มีเซลล์มุมมองตารางสองประเภทที่จัดเตรียมไว้ให้คุณผ่านกระดานเรื่องราวซึ่งเป็นเซลล์ต้นแบบและเซลล์แบบคงที่
1. Dynamic Prototypes
จากชื่อเซลล์ประเภทนี้จะถูกสร้างขึ้นแบบไดนามิก พวกเขาถูกควบคุมด้วยรหัสของคุณไม่ใช่กระดานเรื่องราว ด้วยความช่วยเหลือของผู้มอบหมายมุมมองของตารางและแหล่งข้อมูลคุณสามารถระบุจำนวนเซลล์ความสูงของเซลล์ต้นแบบของเซลล์โดยทางโปรแกรม
เมื่อคุณลากเซลล์ไปยังมุมมองตารางของคุณคุณจะประกาศต้นแบบของเซลล์ จากนั้นคุณสามารถสร้างจำนวนเซลล์ฐานใด ๆ บนต้นแบบนี้และเพิ่มเข้าไปในมุมมองตารางผ่านcellForRow
วิธีการทางโปรแกรม ข้อดีของการทำเช่นนี้คือคุณต้องกำหนด 1 ต้นแบบแทนการสร้างแต่ละเซลล์และทุกเซลล์ที่มีการเพิ่มมุมมองทั้งหมดด้วยตัวเอง (ดูเซลล์แบบคงที่)
ดังนั้นในกรณีนี้คุณไม่สามารถเชื่อมต่อองค์ประกอบ UI บนแบบตัวอย่างเซลล์กับตัวควบคุมมุมมองของคุณ คุณจะมีวัตถุตัวควบคุมมุมมองเดียวเท่านั้นที่เริ่มต้น แต่คุณอาจมีหลายเซลล์วัตถุเริ่มต้นและเพิ่มลงในมุมมองตารางของคุณ ไม่เหมาะสมที่จะเชื่อมต่อเซลล์ต้นแบบเพื่อดูคอนโทรลเลอร์เนื่องจากคุณไม่สามารถควบคุมหลายเซลล์ด้วยการเชื่อมต่อหนึ่งคอนโทรลเลอร์ในมุมมอง และคุณจะได้รับข้อผิดพลาดถ้าคุณทำเช่นนั้น
ในการแก้ไขปัญหานี้คุณจะต้องเชื่อมต่อฉลากต้นแบบของคุณกับUITableViewCell
วัตถุ A UITableViewCell
ยังเป็นต้นแบบของเซลล์และคุณสามารถเริ่มวัตถุเซลล์ได้มากเท่าที่คุณต้องการจากนั้นแต่ละเซลล์จะเชื่อมต่อกับมุมมองที่สร้างขึ้นจากต้นแบบตารางเซลล์สตอรีบอร์ดของคุณ
ในที่สุดในcellForRow
วิธีการของคุณสร้างเซลล์ที่กำหนดเองจากUITableViewCell
ชั้นเรียนและทำสิ่งที่สนุกกับฉลาก
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "yourCellIdentifier") as! YourCell
cell.label.text = "it works!"
return cell
}
2. เซลล์คงที่
ในทางกลับกันเซลล์แบบคงที่มีการกำหนดค่าแน่นอนแม้ว่ากระดานเรื่องราว คุณต้องลากองค์ประกอบ UI ไปยังแต่ละเซลล์และทุกเซลล์เพื่อสร้าง คุณจะควบคุมจำนวนเซลล์ความสูง ฯลฯ จากกระดานเรื่องราว ในกรณีนี้คุณจะเห็นมุมมองตารางที่เหมือนกันจากโทรศัพท์ของคุณเมื่อเทียบกับสิ่งที่คุณสร้างจากกระดานเรื่องราว เซลล์แบบสแตติกมักใช้ในการตั้งค่าหน้าซึ่งเซลล์ไม่เปลี่ยนแปลงมากนัก
ในการควบคุมองค์ประกอบ UI สำหรับเซลล์แบบคงที่คุณจะต้องเชื่อมต่อองค์ประกอบเหล่านั้นกับตัวควบคุมมุมมองของคุณโดยตรงและตั้งค่า