Удаление подслоя imageView из TableViewCell

Когда у меня есть изображение, я вставляю подслой с CAGradientLayer,

...
layer.name = @"Gradient";
[cell.imageView.layer insertSublayer:layer atIndex:0];

и когда нет изображения для ImageView, мне нужно удалить этот подслой. Я пробовал разные способы, но безуспешно. Последний раз я пробовал

for (CALayer *layer in cell.imageView.layer.sublayers) {
    if ([layer.name isEqualToString:@"Gradient"]) {
        [layer removeFromSuperlayer];
    }

}

, но он выдает ошибку:

CoreData: error: Serious application error.  An exception was caught from the delegate of NSFetchedResultsController during a call to -controllerDidChangeContent:.  *** Collection <CALayerArray: 0xc1502e0> was mutated while being enumerated. with userInfo (null)
7
задан Shmidt 6 February 2012 в 14:57
поделиться