У меня есть класс, который наследуется от другого класса.Как получить доступ к методам класса при множественном наследовании на Swift?
class Profile: UserData{
}
И в то же время UserData
наследуется от UIViewController
.
Проблема возникает потому, что мне нужно, что Profile
класс также наследует от UITabBarController
, и мне нужно, чтобы получить доступ к методам класса UserData
из Profile
класса.
То, что я попытался это:
class Profile: UITabBarController{
override func viewDidLoad() {
super.viewDidLoad()
UserData().doStuff()
}
}
, но это не работает для меня, потому что мне нужно, чтобы наследовать полный класс (метод работает только тогда, когда я использую class Profile: UserData
).
Я знаю о протоколах, и я попытался наследовать по протоколу класс UserData
, но он также не разрешен. Я также пытался копировать методы UserData
класса по этому протоколу, но он дает мне следующую ошибку:
Protocol methods may not have bodies
Как, на данный момент, это невозможно сделать множественное наследование, можно сделать обходной путь использовать все методы UserData
(как если бы я унаследовал его) по классу Profile
, который наследует в то же время от UITabBarController
?
Заранее благодарен!
Нет, это невозможно. Кроме того, если вашему классу необходимо наследовать более одного класса, существует огромный шанс, что ваш дизайн испорчен. – ozgur
Можете ли вы рассказать нам, что именно вы пытаетесь достичь (с точки зрения функциональности/пользовательского интерфейса)? Я почти сомневаюсь, что вам когда-нибудь понадобится класс, который наследует от 'UIViewController' и' UITabBarController' ... – jcaron
@jcaron Мне нужно, чтобы в 'UITabBarController' было личным меню, которое создается на' UserData' , –