在用FMDB做数据存储,对一个字段进行批量插入数据,
- (BOOL)executeUpdate:(NSString*)sql withArgumentsInArray:(NSArray *)arguments;
在没有看到这个方法前,自己决定折腾制造了一段的轮子。
下面贴上部分轮子的代码
- (void)addObj:(id)firstObj,...
{
NSMutableArray *array = [NSMutableArray array];
if (firstObj)
{
va_list argsList;
[array addObject:firstObj];
va_start(argsList, firstObj);
id arg;
while ((arg = va_arg(argsList, id)))
{
[array addObject:arg];
}
va_end(argsList);
}
NSLog(@"sssss %@", array);
}
[self addObj:@"hellow", @"thank you", nil];
// 轮胎注释
// 首先想象一下 你正在玩俄罗斯转盘。。。。然后开始
var_list argsList;
va_list// c语言中解决变参问题的一组宏,用于获取不确定个数的参数 ----- 百度百科
argsList// 把它想象成转盘上的指针
var_start(argsList, firstObj);// 一个游戏的开关,按下后指针将从转盘上的 firstObj开始转动
arg = va_arg(argsList, id);// 指针每转过一个对象的区域就会把,该指针所指的对象赋值给arg这个的对象。括号里的id是指针所指的对象的类型
va_end(argsList);// 当执行到这句话的时候,游戏就结束了
这时候项目正好修改了弹窗(UIAlertController)的样式,变成了一列下来的。
变成了~
而UIAlertView变成Controller后按钮的添加也变了。。。
// 联系电话弹窗
- (void)showCellphoneSelectionAlert:(NSString *)firstCellphone, ...
{
// 增加拨打次数
__weak typeof(self) weakSelf = self;
UIAlertController *alert;
va_list argsList;
va_start(argsList, firstCellphone);
if (firstCellphone)
{
alert = [UIAlertController alertControllerWithTitle:Alert_Text_Cellphone_DefaultType
message:nil
preferredStyle:UIAlertControllerStyleAlert];
[alert addAction:[UIAlertAction actionWithTitle:firstCellphone style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
//点击按钮的响应事件
[weakSelf.addCallRecordVM addBusinessCalledRecordWithBusinessID:self.businessID];
NSMutableString *str = [[NSMutableString alloc] initWithFormat:@"tel:%@", firstCellphone];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
// 存储
[self saveCallHistoryTolocalDatabase];
}]];
NSString *backupCellphone;
while ((backupCellphone = va_arg(argsList, NSString *)))
{
//依次取得所有参数
[alert addAction:[UIAlertAction actionWithTitle:backupCellphone style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
//点击按钮的响应事件
[weakSelf.addCallRecordVM addBusinessCalledRecordWithBusinessID:self.businessID];
NSMutableString *str = [[NSMutableString alloc] initWithFormat:@"tel:%@", backupCellphone];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
// 存储
[self saveCallHistoryTolocalDatabase];
}]];
}
[alert addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
//点击按钮的响应事件
}]];
}
va_end(argsList);
//弹出提示框
if (alert)
{
[self presentViewController:alert animated:true completion:nil];
}
}
调用
[self showCellphoneSelectionAlert:@"186451666666", @"1821645215", @"16487559525", nil];