在 Swift 中再次对 UITableViewController 进行子类化
Subclassing UITableViewController to be subclassed again in Swift
我想制作一个 UITableViewController 的子class,其中有一些特定的功能。这样,当我在情节提要中制作 TableViewController 时,我可以直接 class 我制作的这个新 class。
但是当我尝试用我的新 class 替换 UITableViewController
时,我得到关于没有 viewDidLoad()
函数或任何其他生命周期函数的错误。
这是我 UITableViewController
的子class:
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)
}
}
如您所见,我尝试为 viewDidLoad()
添加 override
,但即便如此,它还是这样声明的:
Method does not override any method from its superclass.
我认为当您子class 某些东西时,它的所有功能也会被引入...或者是否需要添加额外的代码来实现这一点。我对像这样子 classing 很陌生。
我猜你没有在这个文件中导入 UIKit
。但是,您可以直接从如下界面创建 class 作为 UITableViewController
的子类,
这将处理 UIKit
中的 import
。它还将添加以 TableViewController
.
开头的所有基本方法
我想制作一个 UITableViewController 的子class,其中有一些特定的功能。这样,当我在情节提要中制作 TableViewController 时,我可以直接 class 我制作的这个新 class。
但是当我尝试用我的新 class 替换 UITableViewController
时,我得到关于没有 viewDidLoad()
函数或任何其他生命周期函数的错误。
这是我 UITableViewController
的子class:
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)
}
}
如您所见,我尝试为 viewDidLoad()
添加 override
,但即便如此,它还是这样声明的:
Method does not override any method from its superclass.
我认为当您子class 某些东西时,它的所有功能也会被引入...或者是否需要添加额外的代码来实现这一点。我对像这样子 classing 很陌生。
我猜你没有在这个文件中导入 UIKit
。但是,您可以直接从如下界面创建 class 作为 UITableViewController
的子类,
这将处理 UIKit
中的 import
。它还将添加以 TableViewController
.