美文网首页
代码分析之va_list及UIAlertController的封

代码分析之va_list及UIAlertController的封

作者: 小雨hahaha | 来源:发表于2015-11-12 15:41 被阅读72次

va_list是在C语言中解决变参问题的一组宏,长用来出来不定参数

在iOS中也可使用,使用场景一般是参数为如下

(1)va_start宏

        获取可变参数列表的第一个参数的地址va_start(ap, param),ap是类型为va_list的指针,param是可变参数最左边的参数

(2)va_arg宏

        获取可变参数当前的参数,返回指定类型并将指针指向下一个参数va_arg(ap, type),ap是类型为va_list的指针,type是当前参数的类型

(3)va_end宏

        清空va_list可变参数列表va_end(ap),ap是类型为va_list的指针


来一个例子,使用va_list对UIAlertController进行封装

(1)写一个block,供用户传入,处理消息关闭事件

typedef void (^MDFUIAlertViewOnDismiss)(NSInteger index);

(2)封装的方法名,展示一个消息框,关闭时执行回调,变长参数,0~N个字符串加一个结束符(nil或block),block类型为MDFUIAlertViewOnDismiss

注意到有个推出模态控制器,为了外面的使用,我们使用栈顶的视图控制器来推

使用的时候如下

相关文章

网友评论

      本文标题:代码分析之va_list及UIAlertController的封

      本文链接:https://www.haomeiwen.com/subject/mewhhttx.html