Может показаться немым вопросом (извините, если это так), но обычно в моих приложениях у меня есть этот rootVC для наследования с другими VC. Так пришел ко мне, что у меня есть экземпляры этого корня. Например, в AppDelegate
я называю мой первый взгляд, как:Создание RootViewController для наследования со всеми другими VC - хорошая практика?
let window = UIWindow(frame: UIScreen.main.bounds)
let root = SplashViewController(nibName: "SplashViewController", bundle: nil)
window.rootViewController = UINavigationController(rootViewController: root)
window.makeKeyAndVisible()
self.window = window
Тогда SplashViewController
наследуется от моего RootViewController
, где я могу сделать некоторые конфигурации представления. Но когда я вызываю другой VC (например, InitialViewController
), который также наследуется от моего корня, я создаю новый экземпляр из моего корня или используя его? И вы думаете, что это хорошая практика?
Я читал и поиск, но я не мог найти или четко понимать, в ссылке апи: https://developer.apple.com/reference/uikit/uiviewcontroller
предложение? Заранее спасибо!
Спасибо @werediver! На самом деле, я думаю, что никогда не слышал о композиции (или, возможно, использовал, но не знал). Итак, мой материнский класс, который я унаследую, будет тем видом? UIViewController? (не мог, правда?). Чтобы обеспечить создание этого корня (я использовал, но не думал об этом принципах), я не могу использовать статику? Не статирует ли мне только один экземпляр? Мое беспокойство заключается в создании экземпляра корня каждый раз, кроме вызова первого созданного - (генерирования утечек памяти). Если мне не ясно, извините, здесь ограниченный английский. – Gehlen
@ Гелен, а также наследование - важная концепция ООП, поэтому попробуйте :) Дерево наследования может быть произвольной глубины, например 'UIViewController' - > 'MyBaseViewController' ->' SettingsScreenViewController'. Каждый экземпляр «SettingsScreenViewController» будет иметь все «MyBaseViewController» и «MyBaseViewController», но это не утечка, это по дизайну. Это позволяет каждому экземпляру 'SettingsScreenViewController' работать независимо. – werediver
Nice @werediver! Моя концепция была неправильной, поэтому я посмотрю на композицию. Еще раз спасибо! – Gehlen