Jaki jest właściwy sposób na uniknięcie zatrzymania cyklu podczas używania bloków
Jaki jest właściwy sposób dodawania obiektów w NSMutableArray, który jest silnie zdefiniowany przez właściwość.
[tapBlockView setTapBlock:^(UIImage* image) {
[self.myImageArray addObject:image]; // self retain cycle
}
Jeśli stworzę słabą referencję, coś takiego
__weak NSMutableArray *array = self.myImageArray;
[tapBlockView setTapBlock:^(UIImage* image) {
[array addObject:image]; // If I will do this then how will I update original Array ?
}
Próbowałem też
__weak id weakSelf = self;
[tapBlockView setTapBlock:^(UIImage* image) {
[weakSelf storeImageInaNewMethod:image]; // Calling SToreImageInaNewMethod
}
i
-(void)storeImageInaNewMethod:(UIImage*)image {
[self.myImageArray addObject:image]; // This again retaining cycle
}
Jaki jest właściwy sposób aktualizacji oryginalnego obiektu zdefiniowanego przez właściwość?