私はiPhoneアプリケーションで作業しています。クラスのオブジェクトがあり、クラスBlock
の多数のオブジェクトをリリースする必要があります。 Block
には、現在、クラスのインスタンス変数を保持するプロパティがあります。私は循環参照を持っています。 Objective-Cで弱い参照を作成するにはどうすればよいですか?
@interface Block : UIImageView {
Row *yCoord;
}
@property (nonatomic,retain) Row *yCoord;
@end
すべては、これらのブロックの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のマニュアルには、循環参照を持つオブジェクトの割り当てを解除するには、強い参照(保持プロパティ)の代わりに弱い参照が必要だと言われています。私は、Row内のすべてのBlocksとRow自身を同時に解放し、解除する予定です。私のブロック内の弱い参照を "親"行に設定するにはどうすればよいですか?
ちなみに、編集や適切なタグ付け、特に新しいSOユーザーとしてのご褒美をお寄せいただければ幸いです。ブラボー!私は、コミュニティの利益のために物事を少し上手にする時間を取る人々に感謝します。 –
なぜ、ありがとう!このサイトはまさに私があらゆる面で探していたものです。非常に多くの人々がすぐに飛び出してそれに答える意思があるときに、明確な質問をする時間を取ることが理にかなっています。 – Tozar