Как удалить все ссылки UIPopOver моего приложения на время простоя превышает
Я устанавливаю MaxIdleTime в моем приложении один раз, если в течение указанного времени не произошло userInteraction. Я просто удаляю существующее представление из моего окна и добавляю свое представление входа в систему (Home) в качестве подпредставления в UIWindow моих приложений с помощью метода logout. В этом выходе я просто удаляю все ссылки, которые живы, но если какой-либо из UIPopOverController виден в любом представлении во время этого вызова выхода, я получаю исключение
-[UIPopoverController dealloc] достигнут, пока всплывающее окно все еще видно.
Я делаю popover экземпляр в ноль в viewDidUnload, хотя я получаю это исключение и приложение падает, и мой проект включен ARC. Как преодолеть это исключение, любая помощь будет оценена заранее.
1 ответ
Чтобы удалить все подпредставления в главном окне при срабатывании таймера, используйте следующий код:
for (UIView *sub in [[_view subviews] copy]) {
[sub removeFromSuperView];
sub = nil;
}
Что касается всплывающих окон, просто удалите тот, который в настоящее время на экране:
[pop dismissPopoverAnimated:NO];
pop = nil;