0

如果在此指定时间内没有发生用户交互,我会在我的应用程序中设置一次 MaxIdleTime 我只是从我的窗口中删除现有视图并通过称为注销的方法将我的登录(主页)视图作为子视图添加到我的应用程序 UIWindow。在此注销中,我只是删除所有活动的引用,但如果在此注销调用期间任何视图上都可见任何 UIPopOverController,我将遇到异常

- [UIPopoverController dealloc] 在 popover 仍然可见时达到。

我在 viewDidUnload 中将 popover 实例设置为 nil,即使我收到此异常并且应用程序正在崩溃并且我的项目已启用 ARC。如何克服此异常,请提前感谢任何帮助。

4

1 回答 1

0

要在计时器触发时删除主视图中的所有子视图,请使用以下代码:

for (UIView *sub in [[_view subviews] copy]) {
    [sub removeFromSuperView];
    sub = nil;
}

至于弹出框,只需删除当前屏幕上的弹出框:

[pop dismissPopoverAnimated:NO];
pop = nil;
于 2013-05-16T15:38:46.197 回答