Sobes.tech
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
}