Was ist der richtige Weg, um Retain Cycle bei der Verwendung von Blöcken zu vermeiden?
Was ist der richtige Weg, um Objekte in NSMutableArray hinzuzufügen, das stark durch die Eigenschaft definiert ist?
[tapBlockView setTapBlock:^(UIImage* image) {
[self.myImageArray addObject:image]; // self retain cycle
}
Wenn ich so etwas wie eine schwache Referenz erstelle
__weak NSMutableArray *array = self.myImageArray;
[tapBlockView setTapBlock:^(UIImage* image) {
[array addObject:image]; // If I will do this then how will I update original Array ?
}
Ich habe es auch versucht
__weak id weakSelf = self;
[tapBlockView setTapBlock:^(UIImage* image) {
[weakSelf storeImageInaNewMethod:image]; // Calling SToreImageInaNewMethod
}
und
-(void)storeImageInaNewMethod:(UIImage*)image {
[self.myImageArray addObject:image]; // This again retaining cycle
}
Wie kann das durch die Eigenschaft definierte ursprüngliche Objekt ordnungsgemäß aktualisiert werden?