在我的 iOS 7 应用程序中,我需要验证用户是否想从 Cord Data 中删除选定的记录。我在 .h 文件中定义了 UIAlertViewDelegate。这是显示警报的代码:
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Warning"
message:@"Are you sure you want to delete this record?"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Delete", nil];
[alert show];
if(alertButtonTapped == 0)
return;
// remainder of code to delete record follows (was omitted)
这是检查哪个按钮被点击的代码:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
alertButtonTapped = [NSNumber numberWithInteger:buttonIndex];
return;
}
问题是显示警报,然后立即通过该方法中的其余代码。我以前从未见过这个;通常它会阻塞,直到用户通过点击其中一个按钮做出响应(至少我认为是这样)。在用户响应之前,我需要做什么才能阻止此警报?(我正在查看 UIAlertView 块,但不确定是否可以完成这项工作,因为它似乎使用了不同的线程)