我的标签栏应用程序有三个标签,每个标签都有自己的导航结构。我的应用程序中的一些视图通过Web服务调用加载数据。这些视图会注册此通知,以便了解应用程序何时变为活动状态,以便他们可以重新加载数据:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(reloadView) name:UIApplicationDidBecomeActiveNotification
object:NO];
当应用程序变为活动状态时,这些视图都会尝试重新加载其数据;但是,如果没有Internet连接,则会捕获错误并向用户显示UIAlert。问题是,如果其中3个视图正在尝试重新加载数据,则会弹出3条警报消息。
如何阻止多个提醒弹出给用户?
我感谢您的所有想法,想法和建议!!
谢谢!
布拉德
编辑:我试过把它放在我的appDelegate中,但即使使用这种方法,我似乎也会得到多个弹出窗口。
-(void)displayAlertWithTitle:(NSString *)title message:(NSString *)message delegate:(id)delegate{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:message delegate:delegate cancelButtonTitle:@"Cancel" otherButtonTitles:@"Retry",nil];
[alert show];
[alert release];
}
答案 0 :(得分:2)
跟踪当前是否正在显示警报(或最近已被解雇)。真的没有别的办法了。
如果您在应用代理中坚持使用该功能,那么您可以执行[(MyAppDelegate*)[UIApplication sharedApplication].delegate displayNetworkFailureDialog]
之类的操作。
编辑:请注意,有些人可能会对您的应用代表中的随机全局信息感到不满......