Как удалить все ссылки 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;
Другие вопросы по тегам