UIAlertController简单封装和不定参数

我们在使用UIAlertController时一般会这样

UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Alert" message:@"这是一个Alert" preferredStyle:UIAlertControllerStyleAlert];

UIAlertAction *alertAction0 = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
       
    }];
UIAlertAction *alertAction1 = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
       
    }];

[alert addAction:alertAction0];
[alert addAction:alertAction1];
//或者用for循环添加Action

这样写一次两次还好,如果要多次用到Alert,每次都要重复一次这一堆。于是就简单地封装了一下,把这一堆放进一个方法中。
像这样:

UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Alert" message:@"这是一个简单封装的Alert" preferredStyle:UIAlertControllerStyleAlert handler:^(UIAlertAction *action) {
        if ([action.title isEqualToString:@"取消"]) {
            NSLog(@"点击了>>>>取消");
        }
        if ([action.title isEqualToString:@"确定"]) {
            NSLog(@"点击了>>>>确定");
        }
        if ([action.title isEqualToString:@"ok"]) {
            NSLog(@"点击了>>>>ok");
        }
    } cancelButtonTitle:@"取消" otherButtonTitles:@"确定",@"ok", nil];
   // [self presentViewController:alert animated:YES completion:nil];

这样感觉清爽不少_
这里用到了不定参数,关于其使用我在方法的实现中已经注释,有兴趣的同学可以去下载demo查看。

时间仓促,只是简单封装,有误之处还请指正。

这一篇文章介绍iOS链式编程iOS,Objective-C链式编程简谈。

你可能感兴趣的:(UIAlertController简单封装和不定参数)