Apa perbedaan antara viewDidLoaddan viewDidAppear? Jenis inisialisasi atau kode kustom apa yang digunakan untuk fungsi tersebut?
misalnya presentModalViewControllerbekerja hanya jika ada viewDidAppeardan tidak aktif viewDidLoad.
Apa perbedaan antara viewDidLoaddan viewDidAppear? Jenis inisialisasi atau kode kustom apa yang digunakan untuk fungsi tersebut?
misalnya presentModalViewControllerbekerja hanya jika ada viewDidAppeardan tidak aktif viewDidLoad.
Jawaban:
viewDidLoaddipanggil tepat sekali, saat pengontrol tampilan pertama kali dimuat ke memori. Di sinilah Anda ingin membuat instance variabel instance apa pun dan membuat tampilan apa pun yang aktif selama seluruh siklus pengontrol tampilan ini. Namun, pemandangan biasanya belum terlihat pada saat ini.
viewDidAppeardipanggil saat tampilan benar-benar terlihat, dan dapat dipanggil beberapa kali selama siklus hidup Pengontrol Tampilan (misalnya, saat Modal View Controller ditutup dan tampilan menjadi terlihat lagi). Di sinilah Anda ingin melakukan tindakan tata letak atau menggambar apa pun di UI - misalnya, menampilkan pengontrol tampilan modal. Namun, apa pun yang Anda lakukan di sini harus dapat diulang. Sebaiknya jangan menyimpan sesuatu di sini, atau Anda akan mendapatkan kebocoran memori jika Anda tidak melepaskannya saat tampilan menghilang.
Lihat: https://developer.apple.com/documentation/uikit/uiviewcontroller
viewDidLoadumumnya hanya dipanggil sekali dan hanya sekali, ada satu situasi di mana bisa dipanggil lagi. Khususnya, jika Anda pernah menerima didReceiveMemoryWarning, tampilan yang tidak terlihat mungkin dirilis (meskipun pengontrol tampilan tidak tersentuh) dan saat Anda kembali, viewDidLoadmungkin akan dipanggil lagi.
didReceiveMemoryWarning. Tetapi saya setuju bahwa jika Anda menerapkan praktik yang baik saat menulis Anda viewDidLoad, Anda akan baik-baik saja. Satu-satunya poin saya adalah bahwa penggunaan ivars yang ceroboh dan manajemen memori manual pasti dapat menyebabkan kebocoran viewDidLoad. Orang harus peka terhadap didReceiveMemoryWarningskenario dan program yang sesuai.
viewDidLoadkode yang akan bocor didReceiveMemoryWarning. Mendesah.
Sederhananya, Anda ingin membuat kontrol atau array apa pun viewDidLoad, di viewDidAppearmana Anda ingin menyegarkan kontrol atau array tersebut.
viewDidLoaddipanggil sekali saat pengontrol dibuat dan viewDidAppeardipanggil setiap kali tampilan, yah, DID muncul. Jadi katakanlah Anda memiliki tampilan modal yang Anda sajikan, saat tampilan itu ditutup, viewDidAppearakan dipanggil, dan viewDidLoadtidak akan dipanggil.
viewDidLoadbisa dipanggil lebih dari sekali . Jika tampilan Anda saat tidak ditampilkan (di bawah tumpukan tampilan lain) dibongkar oleh versi iOS yang lebih lama dalam situasi memori rendah, maka pengontrol tampilan akan secara otomatis memuat ulang tampilan saat perlu ditampilkan ulang di layar. Di versi iOS yang lebih baru, Anda dapat memilih untuk membantu mengurangi penggunaan memori dengan melakukan apa yang dilakukan iOS sebelumnya untuk Anda: Bongkar tampilan di luar layar saat didReceiveMemoryWarningpesan tiba, dalam hal viewDidLoadini akan dipanggil lagi.