Durultma soru Takip:a takibi olarak viewDidUnload vs dealloc soru
What exactly must I do in viewDidUnload? When should I release objects in -(void)viewDidUnload rather than in -dealloc?
Öyleyse bir düşük bellek hatası var diyelim ve görünümü gizli ve viewDidUnload denir. Serbest bırakma ve nil dansı yapıyoruz. Daha sonra tüm görünüm yığını gerekli değildir, bu nedenle dealloc çağrılır. ViewDidUnload'da zaten sürüm ve sıfır şeylere sahip olduğum için, bunu dlllloc içinde yok. Mükemmel.
Ancak düşük bellek hatası yoksa, viewDidUnload hiçbir zaman çağrılmaz. dealloc denir ve serbest bırakma ve sıfır şeylere sahip olmadığımdan, bir bellek sızıntısı vardır.
Başka bir deyişle, ilk olarak viewDidUnload çağrılmadan dealloc çağrılabilir mi?
Ve bunun pratik bir uygulaması, eğer viewDidLoad'a bir şey atar ve ayarlarsam ve onu serbest bırakıp viewDidUnload'da sıfır olarak ayarladığımda, onu dlllloc dışında bırakabilir miyim, yoksa bir defansif nil check in yapabilir miyim? nil olmasaydı, boş bırakın ve bırakın/bırakın?
Nil bir sürüm mesajı sorun olmadan gönderebilirsin, değil mi? nil sadece kendisine gönderilen tüm mesajları yok sayar ve hata olmadan değer olarak sıfırlar. NULL –