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
}