bir nesne A
B
nesne koruduğunda döngüsü bir durum korumak ve B
nesne: sadece bu kadar gibi, bir weak
referansla bunlardan biri ilan, ARC ile döngüleri muhafaza önlemek için
@class classB;
@interface classA
@property (nonatomic, strong) classB *b;
@end
@class classA;
@interface classB
@property (nonatomic, strong) classA *a;
@end
A
nesnesini aynı anda * numaralı telefonu korur.
@class Child;
@interface Parent : NSObject {
Child *child; // Instance variables are implicitly __strong
}
@end
@interface Child : NSObject {
Parent *parent;
}
@end
Bir senin "geri bağlantıları" için __weak
değişkenleri veya weak
özelliklerini kullanarak ARC içinde döngüsünü korumak çözebilirsiniz, yani bir nesne hiyerarşi içinde doğrudan bağlantılar veya dolaylı ebeveynler:
@class Child;
@interface Parent : NSObject {
Child *child;
}
@end
@interface Child : NSObject {
__weak Parent *parent;
}
@end
İşte bir örnek
* Bu, tutma döngüsünün en ilkel şeklidir; Birbirini bir daire içinde tutan uzun bir nesne zinciri olabilir.
Bir zombi nedeniyle korumak döngüsünün oluşmaz. – bbum