Sobes.tech
Junior — Middle

როდესაც იწერება loadView მეთოდი, აუცილებელია მშობლის მეთოდს super-ის საშუალებით გამოიძახო?

sobes.tech AI

პასუხი AI-სგან

UIViewController კლასის loadView მეთოდში, მშობლის მეთოდის super.loadView() გამოძახება არ არის აუცილებელი და ჩვეულებრივ არ კეთდება. ეს დაკავშირებულია იმასთან, რომ loadView განკუთვნილია მექანიკურად შექმნას და დაამყაროს კონტროლერის ძირითადი ხედი. თუ ამ მეთოდს გადახაზავთ, თქვენ უნდა შექმნათ და მიაწოდოთ საკუთარი view თვისება.

თუ გამოიძახებთ super.loadView(), ჩაიტვირთება სტანდარტული განსახორციელება, რომელიც ცდილობს ხედი ჩატვირთოს storyboard ან nib ფაილიდან. მექანიკურად შექმნილი ხედი შეიძლება გამოიწვიოს კონფლიქტები ან დუბლიკატები.

super-ის გამოძახების გარეშე loadView-ის გადახაზვის მაგალითი:

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