【发布时间】:2013-08-21 13:57:26
【问题描述】:
我在视图控制器的方法中实例化了一些UIAlertView 有问题。这个UIViewController 是从另一个UIViewController 呈现的,并且在某个点上,我以这种方式从实例方法中显示UIAlertView:
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Upload Error", @"")
message:NSLocalizedString(@"It was not possible to complete the upload, do you want to try again?", @"")
delegate:self
cancelButtonTitle:NSLocalizedString(@"Cancel", @"")
otherButtonTitles:NSLocalizedString(@"Accept", @""), nil];
[alertView show];
我可以在显示此警报视图之前或同时关闭显示的UIViewController,当显示的视图控制器不再出现在屏幕上时,是什么原因导致显示此类警报视图,因此警报视图显示在顶部呈现视图控制器。然后,当点击警报视图的按钮之一时,应用程序崩溃,我猜是因为它的委托是呈现的视图控制器并且它不存在。我怎样才能避免这种情况?
谢谢!
【问题讨论】:
-
理想情况下,当您有 OK-Cancel 类型的警报时,代表应该在场。在您的情况下是视图控制器,因为您让用户选择在失败时重试。因此委托需要重新启动操作。
标签: ios uiviewcontroller delegates uialertview presentmodalviewcontroller