Как правильно избегать сохранения цикла при использовании блоков?

Как правильно добавить объекты в NSMutableArray, который строго определен свойством.

[tapBlockView setTapBlock:^(UIImage* image) {
   [self.myImageArray addObject:image]; // self retain cycle
}

Если я создам слабую ссылку что-то вроде

__weak NSMutableArray *array = self.myImageArray;
[tapBlockView setTapBlock:^(UIImage* image) {
    [array addObject:image]; // If I will do this then how will I update original Array ?
}

Я также пытался

__weak id weakSelf = self;
[tapBlockView setTapBlock:^(UIImage* image) {
    [weakSelf storeImageInaNewMethod:image]; // Calling SToreImageInaNewMethod
}

а также

-(void)storeImageInaNewMethod:(UIImage*)image {
   [self.myImageArray addObject:image]; // This again retaining cycle
}

Как правильно обновить исходный объект, определенный свойством?

Ответы на вопрос(4)

Ваш ответ на вопрос