UIAlertView警报-IOS开发

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是不是最安全的呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值