我想要创建一个UITableViewController的子类,其中包含一些特定的功能。这样,当我在故事板中创建一个TableViewController时,我可以将这个新类子类化为子类。
但是当我尝试用我的新类替换UITableViewController
时,我得到的错误是没有viewDidLoad()
函数或任何其他生命周期函数。
这是我的UITableViewController
的子类:
class TutorialTVC: UITableViewController {
var tutorialTab: TutorialTab?
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
self.tutorialTab?.dropDownTab()
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
self.tutorialTab?.pullUpTab(0.2)
}
func createTutorialTab(segueNameOnOpen: String) {
self.tutorialTab = TutorialTab(sourceVC: self, putTabBelowView: nil, segueNameOnOpen: segueNameOnOpen)
}
}
正如您所看到的,我尝试在override
添加viewDidLoad()
,但即便如此,也会说明这一点:
Method不会覆盖其超类中的任何方法。
我认为当你继承某些东西时,所有它的功能都被引入......或者是否需要添加额外的代码才能实现这一点。我很喜欢这样的子类化。