Öncelikle bu dersin konuları ARC ve Propertyler ile ilgili olduğundan 12. ve 13. derslere bir bakmanızı tavsiye ederim.
ARC'nin işi biten objeleri otomatik olarak sildiğini biliyoruz. Bir objenin işinin bitmesi demek başka herhangi bir objenin ona ihtiyaç duyup duymadığı ile alakalıdır. Örneğin bir UIView ekrana eklendiğinde ekran bu objeyi tutar. Bu objenin silinmesi için öncelikler ekrandan silinmelidir. Aksi takdirde ekran objesi UIView ile işi bitmediğinden ölmesine izin vermeyecektir. Bir başka vaka ise bir türlü ölmek istemeyen propertyler. Şimdi X ve Y adlı 2 adet Class düşünün. X classının Y türünden bir propertysi olsun. X classını kullanıyoruz fakat Y türünden propertymize ihtiyaç yok yani silinebilir. Fakat Aralarında çok güçlü bir dostluk varmış gibi X arkadaşının ölmesine izin vermiyor. Bunun sebebi başlangıçta propertyler için weak veya strong özelliği atanmadığında propertynin strong olarak kabul edilmesi. Yani propertyler için default değer strong. Eğer propertyler strong atanmışsa bu siz bu nesneleri null yapana kadar yaşıyorlar. Eğer weak atanmışsa arkadaşlık bağları zayıf oluyor ve X Y nin ölmesine izin veriyor.
@property (weak) UIView * kotuDost;
@property (strong) UIView * iyiDost;
Hiç yorum yok :
Yorum Gönder