คุณจะเพิ่มตัวเริ่มต้นที่กำหนดเองให้กับUIViewController
คลาสย่อยใน Swift ได้อย่างไร?
ฉันได้สร้างคลาสย่อยUIViewController
ที่มีลักษณะดังนี้:
class MyViewController : UIViewController
{
init(leftVC:UIViewController, rightVC:UIViewController, gap:Int)
{
self.leftVC = leftVC;
self.rightVC = rightVC;
self.gap = gap;
super.init();
setupScrollView();
setupViewControllers();
}
}
เมื่อฉันเรียกใช้ฉันได้รับข้อผิดพลาดร้ายแรง:
ข้อผิดพลาดร้ายแรง: การใช้ initializer ที่ไม่ได้ใช้งาน 'init (nibName: bundle :)' สำหรับคลาส 'MyApp.MyViewController'
ฉันเคยอ่านมาแล้วว่าเมื่อเพิ่มตัวเริ่มต้นที่กำหนดเองจะต้องแทนที่ด้วยinit(coder aDecoder:NSCoder)
ดังนั้นเรามาแทนที่สิ่งนั้นinit
และดูว่าเกิดอะไรขึ้น:
override init(coder aDecoder: NSCoder)
{
super.init(coder: aDecoder);
}
ถ้าฉันจะเพิ่มนี้ Xcode self.leftVC is not initialized at super.init call
บ่นว่า ดังนั้นฉันเดาว่านั่นคงไม่ใช่ทางออกเช่นกัน ดังนั้นฉันจึงสงสัยว่าฉันจะเพิ่มตัวเริ่มต้นที่กำหนดเองให้กับViewController
คลาสย่อยใน Swift ได้อย่างไร (เนื่องจากใน Objective-C ดูเหมือนจะไม่มีปัญหา)
MyViewController
อย่างไร?