Sobes.tech
Junior — Middle

Kötelező a szülői módszert a super segítségével hívni a loadView felülírásakor?

sobes.tech MI

Válasz az MI-től

A UIViewController osztály loadView metódusában a super.loadView() hívása nem kötelező, és általában nem is történik meg. Ez azért van, mert a loadView arra szolgál, hogy kézzel hozzon létre és állítson be a vezérlő gyökérnézetét. Ha felülírja ezt a metódust, akkor önállóan kell létrehoznia és hozzárendelnie a view tulajdonságot.

Ha meghívja a super.loadView()-t, akkor az alapértelmezett implementáció töltődik be, amely megpróbálja betölteni a nézetet storyboard vagy nib fájlból. A kézi nézetkészítés konfliktusokat vagy duplikációkat okozhat.

Példa a loadView felülírására super hívása nélkül:

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