Если view
не сохраняется нигде, кроме как с помощью суперпредставления , вызов [view removeFromSuperView];
полностью в порядке. И, как вы боитесь, view
будет выпущен в то время. Таким образом, доступ к нему после вызова метода removeFromSuperView
не будет безопасным.
Вы должны сохранить view
, чтобы получить доступ к нему даже после того, как вы удалите его из суперпредставления.
Изменения в вашем коде:
Вы должны удалить view
после окончания анимации. При создании анимации добавьте следующие строки.
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(onAnimationStopped)];
Метод onAnimationStopped ,
- (void)onAnimationStopped {
[view removeFromSuperview];
}