我们在使用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链式编程简谈。
网友评论