Sobes.tech
Junior — Middle

Ce consecințe pot apărea atunci când se accesează proprietatea view în interiorul metodei loadView din controller?

sobes.tech AI

Răspuns de la AI

În metoda loadView a controlerului iOS, se creează și se atribuie vizualizarea principală (view). Dacă în interiorul loadView se accesează proprietatea view, acest lucru va duce la o apelare recursivă a metodei loadView, deoarece view nu este încă inițializată și sistemul va încerca să o încarce, apelând loadView din nou. Acest lucru va cauza o recursie infinită și, ca urmare, aplicația se va prăbuși cu o eroare de tip stack overflow.

De aceea, în loadView nu trebuie să se acceseze self.view. În schimb, trebuie creată și atribuită direct o nouă vizualizare, de exemplu:

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