iOS 7.1 removeFromSuperview вылетает
В моем приложении не было сбоев, покаiOS 7.1 вышел. Сейчас по любомуremoveFromSuperview
метод, сбой. Например: у меня есть контроллеры представления, и когда я хочу удалить контроллер представления, я удаляю все его подпредставления, а затем удаляю из стека (стек: в этом я сохраняю контроллеры представления для загрузки нового содержимого и загрузки предыдущее содержание):
for (UIView *subView in [contentVc subviews])
[subView removeFromSuperview];
И я получил
- [CALayer retain]: сообщение отправлено освобожденному экземпляру
сообщение
[actual removeFromParentViewController];
хороший способ удалить это? И выпустит ли он весь контроллер представления и его подпредставления? Потому что вместо removeFromSuperview мое приложение не падает. Я не понимаю, что было изменено в iOS 7.1.
И как я могу удалить все подпредставления вviewController
безremoveFromSuperview
и без удаляйViewController
(если я просто хочу добавить новые подпредставления и удалить текущий контент)?
ОБНОВИТЬ:
иногда сбой для:
[myactualviewcontroller.view removeFromSuperview];
- [CALayer retain]: сообщение отправлено освобожденному экземпляру
Зачем???
и иногда, если я пытаюсь удалить основное подпредставление из представления контроллера представления, происходит то же самое падение:
[mainView removeFromSuperview]
(mainView - это единственный UIView, добавленный в vc.view)
ОБНОВЛЕНИЕ 2: (подробно)
Итак, у меня есть вид контейнера. Я добавляюUIViewController.view
в этот контейнер. И я добавляю вид как подпредставлениеUIViewController.view
, Это мнение не является локальным, я имею в виду, что оно объявленоimplementation{ UIView* mainView }
Когда мой UIViewController будет освобожден, в его- (void) dealloc { [mainView removeFromSuperview]; [mainView release] [super dealloc];}
При основном просмотре removeFromSuperview происходит сбой моего приложения.