ฉันกำลังเรียนรู้การพัฒนา iOS จากหลักสูตรออนไลน์และทุกครั้งที่สร้างมุมมองแบบกำหนดเอง (เซลล์มุมมองตารางที่กำหนดเองเซลล์มุมมองคอลเลกชัน ฯลฯ ) ผู้สอนจะใช้เครื่องมือเริ่มต้นนี้เสมอ:
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
ทำไมฉันต้องเรียกสิ่งนี้เสมอ? มันทำอะไร? ฉันสามารถใส่คุณสมบัติภายใน init ได้หรือไม่
NSCoding
คุณจะต้องใช้ initialiser นี้เนื่องจากเป็นคลาสที่NSCoding
ต้องการ อย่างน้อยคุณต้องเรียกใช้ superclass init method หากNSCoder
มีคุณสมบัติที่เข้ารหัสสำหรับชั้นเรียนของคุณคุณสามารถใช้วิธีนี้เพื่อกู้คืนสิ่งเหล่านั้น