UIAlertView警报-IOS开发

junwong 发布于 2012/03/05 15:16
阅读 630
收藏 0

UIAlertView* myAlert = [[UIAlertView alloc]
                    initWithTitle:@"sorry" 
                    message:@"1234567890" 
                    delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
                    myAlert.delegate =    self;
                    [myAlert show];
                    //[myAlert release];//如果未在下面的委托中release的话记得要在这里release,否则内存泄漏了
这里设置delegate有啥用出,加入我们仅仅是只要显示一个弹窗警告,而不采取其他动作我们可以安全用如下代码解决:
[[[[UIAlertView alloc]
                initWithTitle:@"sorry" 
                message:@"1234567890" 
                delegate:self 
                cancelButtonTitle:@"OK" 
                otherButtonTitles:nil, nil]
                autorelease]
                show];

设置委托有啥作用呢?我们可以实现UIAlertView的一个委托方法,让后可以在这个方法里处理按下按钮后的动作,根据用户按下的哪个按钮来决定进行射门样的操作,比如按下OK按钮与按下Cancel按钮的后要进行的操作必然有可能不同:

-(void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    NSLog(@"Button %d pressed",buttonIndex);
    [alertView release];
}
看到否?我们可以通过buttonIndex来判断用户按下了哪个按钮,然后来进行相应处理,同时我们还可以在这里面release,因为我们在上面的代码中可能不确定需要在哪里release,所以在按下按钮后release是不是最安全的呢?


原文链接:http://blog.csdn.net/iukey/article/details/7295581
加载中
返回顶部
顶部