Làm cách nào để bạn thêm các bộ khởi tạo tùy chỉnh vào các UIViewController
lớp con trong Swift?
Tôi đã tạo một lớp UIViewController
con trông giống như sau:
class MyViewController : UIViewController
{
init(leftVC:UIViewController, rightVC:UIViewController, gap:Int)
{
self.leftVC = leftVC;
self.rightVC = rightVC;
self.gap = gap;
super.init();
setupScrollView();
setupViewControllers();
}
}
Khi tôi chạy nó, tôi gặp một lỗi nghiêm trọng:
lỗi nghiêm trọng: sử dụng trình khởi tạo chưa hoàn thành 'init (nibName: pack :)' cho lớp 'MyApp.MyViewController'
Tôi đã đọc ở đâu đó rằng khi thêm trình khởi tạo tùy chỉnh, người ta cũng phải ghi đè, init(coder aDecoder:NSCoder)
vì vậy hãy ghi đè điều đó init
và xem điều gì sẽ xảy ra:
override init(coder aDecoder: NSCoder)
{
super.init(coder: aDecoder);
}
Nếu tôi thêm điều này, Xcode sẽ phàn nàn điều đó self.leftVC is not initialized at super.init call
. Vì vậy, tôi đoán đó cũng không thể là giải pháp. Vì vậy, tôi tự hỏi làm thế nào tôi có thể thêm các trình khởi tạo tùy chỉnh đúng cách vào một ViewController
lớp con trong Swift (vì trong Objective-C, điều này dường như không phải là vấn đề)?
MyViewController
?