Sobes.tech
Junior — Middle

Jaké důsledky mohou nastat při přístupu k vlastnosti view uvnitř metody loadView v kontroléru?

sobes.tech AI

Odpověď od AI

V metodě loadView řadiče iOS je vytvořeno a přiřazeno hlavní zobrazení (view). Pokud v rámci loadView přistoupíte k vlastnosti view, dojde k rekurzivnímu volání metody loadView, protože view ještě není inicializováno a systém se pokusí jej načíst, znovu voláním loadView. To způsobí nekonečnou rekurzi a v důsledku pád aplikace s chybou přetečení zásobníku.

Proto v loadView nesmíte přistupovat k self.view. Místo toho je třeba přímo vytvořit a přiřadit nové zobrazení, například:

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