应用程序进入后台时删除UIAlerts

本文关键字:删除 UIAlerts 后台 应用程序 | 更新日期: 2023-09-27 18:20:41

在我的应用程序中,如果用户想确认报价,我会发出警报。现在我注意到,如果用户点击主页按钮,警报就会停留在那里;如果他输入任何内容,我的应用程序就会崩溃。当我进入后台模式时,如何删除警报(所有UIAlerts)?

问候,

格伦。

编辑1:

基本上我在做一个报价页面。当用户单击"确定"时,我将显示一个UIAlert以进行额外确认。现在我还有一个功能,当用户关闭(主页按钮)应用程序&重新启动它,它将转到概览页面(所有产品都在那里),并向服务器询问数据(使数据再次更新)

通常情况下,我的应用程序进入后台模式不会有问题。但是具有刷新数据的功能&转到另一个控制器,它可能会出现问题。因此,我需要能够关闭所有仍处于活动状态的UIAlerts。

应用程序进入后台时删除UIAlerts

您的应用程序崩溃不是因为UIAlerts,而是因为出现了问题。即使你在显示UIAlert时将应用程序放在后台,警报也会保持不变。

- (void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated;

您可以在AppDelegate.m:中使用此方法

- (void)applicationDidEnterBackground:(UIApplication *)application

但Nikos M.是对的:你应该找到并解决这个问题的根源,但不要掩饰它。有一种最简单的方法可以显示警报,检查它,也许它会有所帮助:

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Some message" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[alertView show];