Sobes.tech
Junior — Middle

Je povinné při přepisování metody loadView volat rodičovskou metodu přes super?

sobes.tech AI

Odpověď od AI

V metodě loadView třídy UIViewController není volání rodičovské metody přes super.loadView() povinné a většinou se nevykonává. Je to proto, že loadView je určeno k manuálnímu vytvoření a nastavení kořenového zobrazení kontroléru. Pokud tuto metodu přepíšete, musíte sami vytvořit a přiřadit vlastnost view.

Pokud zavoláte super.loadView(), načte se výchozí implementace, která se snaží načíst zobrazení ze storyboardu nebo nib souboru. Ruční vytvoření zobrazení může vést ke konfliktům nebo duplicitám.

Příklad přepsání loadView bez volání super:

override func loadView() {
    let customView = UIView()
    customView.backgroundColor = .white
    self.view = customView
}