У меня есть этот код:
CardView *aCardView = [self prendiCartaDalMazzo]; [aCardView removeFromSuperview]; [self.mieCarte addSubview:aCardView];
когда я пытаюсь добавить aCardView как подвид mieCarte, я получаю эту ошибку:
objc [4800]: FREED (id): супервизор сообщения отправлен на освобожденный объект = 0x393f130 Программа получила сигнал: «EXC_BAD_INSTRUCTION».
Спасибо, все могут помочь.
-removeFromSuperview делает релиз, который, вероятно, вызывает разрушение (ссылка на суперпредставление, вероятно, является последней оставшейся) ..
У
[aCardView retain]; [aCardView removeFromSuperview];
...
вместо.
removeFromSuperview также освобождает получателя (так же, как addSubview: сохраняет его).
removeFromSuperview
addSubview:
Вам необходимо сохранить представление карты перед ее удалением, а затем снова разблокировать, добавив в качестве подпредставления в другое представление.