在我的应用程序中,我使用多个UIAlertView并确定在alertview中点击了哪个之间我使用的方法
- (void) alertView:(UIAlertView *)alert clickedButtonAtIndex:(NSInteger)buttonIndex{
}
但我只需要一个alertview,但它正在响应所有的alertviews。如何限制只有一个alertview或alertview我需要确定按钮操作
答案 0 :(得分:3)
通常的做法是为每个UIAlertView
的{{3}}属性使用唯一编号,然后检查代理回调中的标记。一个简单的方法是使用枚举:
enum {
kServiceErrorAlert = 1,
kFailedToSaveAlert = 2
};
...
alertView.tag = kServiceErrorAlert;
[alertView show];
答案 1 :(得分:2)
如果你能负担得起只运行4.x,你可以使用积木而忘记代表和标签:
LambdaAlert *alert = [[LambdaAlert alloc]
initWithTitle:@"Test Alert"
message:@"See if the thing works."];
[alert addButtonWithTitle:@"Foo" block:^{ NSLog(@"Foo"); }];
[alert addButtonWithTitle:@"Bar" block:^{ NSLog(@"Bar"); }];
[alert addButtonWithTitle:@"Cancel" block:NULL];
[alert show];
[alert release];