Подкласс UITableViewController будет снова разделен на подклассы в Swift - PullRequest
0 голосов
/ 14 мая 2018

Я хочу создать подкласс 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(),но даже тогда это так:

Метод не переопределяет какой-либо метод из своего суперкласса.

Я думал, что когда вы что-то делаете подклассом, все его функции переносятся ва также ... Или есть дополнительный код, который мне нужно добавить, чтобы это произошло.Я довольно новичок в таких подклассах.

1 Ответ

0 голосов
/ 14 мая 2018

Полагаю, вы не импортировали UIKit в этом файле. Однако вы можете создать свой класс как подкласс UITableViewController прямо из интерфейса, как показано ниже,

enter image description here

Это будет обрабатывать import из UIKit. Также он добавит все необходимые методы, чтобы начать с TableViewController.

...