Junior — Middle
Quali conseguenze possono verificarsi accedendo alla proprietà view all'interno del metodo loadView in un controller?
sobes.tech AI
Risposta dell'AI
Nel metodo loadView del controller iOS, viene creata e assegnata la vista principale (view). Se all'interno di loadView si accede alla proprietà view, si provocherà una chiamata ricorsiva a loadView, poiché view non è ancora inizializzata e il sistema tenterà di caricarla, chiamando di nuovo loadView. Questo porterà a una ricorsione infinita e, di conseguenza, al crash dell'app con un errore di overflow dello stack.
Perciò, in loadView non bisogna accedere a self.view. Al contrario, bisogna creare e assegnare direttamente una nuova vista, ad esempio:
override func loadView() {
let customView = UIView()
customView.backgroundColor = .white
self.view = customView
}