Was ist die richtige Methode zum Hinzufügen von Objekten in NSMutableArray, die stark durch die Eigenschaft definiert ist.Was ist der richtige Weg zur Vermeidung von Retain Cycle während der Verwendung von Blöcken
[tapBlockView setTapBlock:^(UIImage* image) {
[self.myImageArray addObject:image]; // self retain cycle
}
Wenn ich schwach Referenz etwas wie
__weak NSMutableArray *array = self.myImageArray;
[tapBlockView setTapBlock:^(UIImage* image) {
[array addObject:image]; // If I will do this then how will I update original Array ?
}
erstellen Ich habe 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
}
Was ist der richtige Weg, ursprüngliche Objekt zu aktualisieren definiert durch Eigenschaft?
Blöcke gleicher Funktion sind pointers.Can't Sie einfach den Block auf Null gesetzt, wenn Sie dies nicht tun Brauchst du es nicht mehr? –