在指定时间处理任务
//dispatch_after
//参数一是指定的时间,参数二是任务执行队列(默认是主队列),第三个是任务函数
// dispatch_time_t的构造方式,DISPATCH_TIME_NOW表示现在,NSEC_PER_SEC表示的是秒数,它还提供了NSEC_PER_MSEC表示毫秒。
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
@strongify(self);
[self launchWithAnimate];
});
宏指令
//普通的参数可以直接在指令体里使用
#define xxx(a,b) @(a+b)
//字符串参数要用#来代替双引号
#define xxx(a,b) @#a#b //相当于@"$a $b" $x是参数值
//可变参数 在宏里是... 在函数里可变参数是__VA_ARGS__
//此处代表VJLog宏接受到的参数都会传给 NSLog宏
#define VJLog(...) NSLog(__VA_ARGS__);