Когда у меня есть изображение, я вставляю подслой с 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)