以下是在视图控制器中显示警报的代码
-(void)saveProducts {
pData = [[JsonModel sharedJsonModel] prodData];
if ([pData count] == 0 && [self respondsToSelector:@selector(alertView:clickedButtonAtIndex:) ] ) {
alert = [[UIAlertView alloc]initWithTitle:@"Alert" message:@"No products against this category" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
}
[self.tblView reloadData];
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == 0) {
[self.navigationController popViewControllerAnimated:YES];
[actInd stopAnimating];
}
}
但是在慢速网络中,警报会慢慢来。如果我们同时点击导航栏的后退按钮,弹出导航控制器并在新的视图控制器中显示警报。但是当我点击确定时,应用程序突然崩溃并出现 EXC_BAD_ACCESS 错误。我也试过
didDismissWithButtonIndex
函数代替
clickedButtonAtIndex
但是会发生同样的错误。请帮我
如果我们没有点击返回栏按钮,它可以正常工作。仅当第一个视图控制器警报显示在第二个视图控制器中时才会出现问题
编辑 这是错误报告 * -[ProductsListing alertView:didDismissWithButtonIndex:]: message sent to deallocated instance 0x8478280
编辑 我理解这个问题。当我单击后退按钮时,我的警报委托解除分配并委托调用结果错误。我该如何克服呢?