Đây là những gì một giữ lại chu kỳ là: Khi 2 đối tượng giữ một tham chiếu đến nhau và được giữ lại, nó tạo ra một chu kỳ giữ lại vì cả hai đối tượng cố gắng giữ lại nhau, làm cho nó không thể phát hành.
@class classB;
@interface classA
@property (nonatomic, strong) classB *b;
@end
@class classA;
@interface classB
@property (nonatomic, strong) classA *a;
@end
Để tránh giữ lại chu kỳ với ARC, đơn giản tuyên bố một trong số họ với một tham chiếu weak
, như vậy:
@property (nonatomic, weak) classA *a;
Nguồn
2012-10-09 14:37:40
Một zombie không xảy ra vì của một chu kỳ giữ lại. – bbum