私はiPhoneアプリケーションに取り組んでいます。Row
classの多数のオブジェクトを解放する必要があるclassのオブジェクトがありBlock
ます。EveryBlock
には現在、 class のインスタンス変数を保持するプロパティがありますRow
。
@interface Block : UIImageView {
Row *yCoord;
}
@property (nonatomic,retain) Row *yCoord;
@end
Everyには、これらのブロック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 のドキュメントには、循環参照を持つオブジェクトの割り当てを解除するには、強参照 (retain プロパティ) の代わりに弱参照が必要であると記載されていますが、それは実行されておらず、正確にどのように行っているかを説明していません。行内のすべてのブロックと行自体を同時に解放および解放する予定です。各ブロック内で「親」行への弱い参照を設定するにはどうすればよいですか?