Sobes.tech
Middle

İdarəçi yaradıldıqdan dərhal sonra onun görünüş nümunəsi yaradılırmı?

sobes.tech Süni İntellekt

AI-dan cavab

Xeyr. UIViewController tipli nəzarətçi üçün görünüş (view) nümunəsi tərtib olunmuş şəkildə, view xüsusiyyətinə ilk müraciətdən sonra yaradılır.

UIKit resursları optimallaşdırmaq üçün nəzarətçini işə saldıqdan sonra dərhal görünüşü yaratmır. Görünüş vizual olaraq mürəkkəb ola bilər və yaradılması üçün çox yaddaş və CPU vaxtı tələb edə bilər. Onu "tərtib olunmuş" şəkildə, yalnız ekran üzərində göstərilməsinə ehtiyac olduqda, sistem resursları qənaət edir.

Bu proses, məsələn, nəzarətçi başqa bir nəzarətçinin və ya pəncərənin görünüşlər hierarxiyasına əlavə olunduqda və ya onun view xüsusiyyəti açıq şəkildə çağırıldıqda baş verir. Əgər nəzarətçi inicializasiya olunubsa, amma heç vaxt göstərilməyibsə və ya istifadə olunmayıbsa, onun görünüşü yaradılmayacaq.

Nəzarətçinin həyat dövrü və görünüşün yaradılması aşağıdakı əsas məqamları əhatə edir:

  1. init(coder:) və ya init(nibName:bundle:): Nəzarətçi inicializasiya olunur, amma view hələ nil.
  2. Birinci dəfə view-a müraciət: Əgər view nildirsə, sistem loadView() metodunu çağırır.
  3. loadView(): Bu metodda siz (və ya sistem tərəfindən standart olaraq) nəzarətçinin kök görünüşünü yaradırsınız və ona view xüsusiyyətinə təyin edirsiniz.
  4. viewDidLoad(): Bu metod sonra görünüş yükləndikdən və view-a təyin edildikdən sonra çağırılır. Burada adətən alt görünüşlərin konfiqurasiyası, məlumatların yüklənməsi və digər əməliyyatlar həyata keçirilir.

loadView()-u üst-üstə yazma nümunəsi:

override func loadView() {
    // Storyboard/XIB-dən yükləmək və ya boş UIView yaratmaq yerinə
    // öz xüsusi görünüşümüzü yaradırıq
    let customView = CustomContentView()
    view = customView
    // Burada view artıq `nil` deyil
}

Əhəmiyyətli olan odur ki, çox hallarda loadView()-u birbaşa üst-üstə yazmayacaqsınız, əvəzinə UIKit-in standart tətbiqinə güvənəcəksiniz, bu da görünüşü Storyboard, XIB faylından yükləmək və ya standart olaraq boş UIView yaratmaqdır. Ancaq, görünüşün nə zaman və necə yaradıldığını başa düşmək çox vacibdir.