Я работаю над iPhone-приложением. У меня есть объект класса Row
, который должен выпустить многочисленные объекты класса Block
. Каждый Block
имеет свойство, которое сохраняет переменную экземпляра класса Row
.
@interface Block : UIImageView {
Row *yCoord;
}
@property (nonatomic,retain) Row *yCoord;
@end
Каждый Row
содержит NSMutableArray
этих блоков.
@interface Row : NSObject {
NSMutableArray *blocks;
}
-(void)addBlock:(Block*)aBlock;
@end
@implementation Row
-(void)addBlock:(Block*)aBlock {
[blocks addObject:aBlock];
aBlock.yCoord = self;
}
@end
Я понимаю, что это круговая ссылка. Документация Apple гласит, что для того, чтобы освободить объект с помощью циклической ссылки, мне нужна слабая ссылка вместо сильной ссылки (свойство сохранения), но она не проходит и объясняет, как именно я это делаю. Я планирую выпустить и исключить все блоки внутри строки, а также сам ряд одновременно. Как настроить слабую ссылку в каждом из моих блоков на их родительскую строку?