小驴拉磨之—ReactiveCocao(RAC)一些重要的宏

使用过RAC的都知道RAC的宏是非常强大的,在这我给大家介绍一些重要的宏。

元宏(RAC中最基本一个宏,PS:那个yaun不知道对不对 _|| )

//用來把参数变成成一个字符串
    metamacro_stringify(10);

点进去看,发现还是这个宏知识多了一个下划线metamacro_stringify_


小驴拉磨之—ReactiveCocao(RAC)一些重要的宏_第1张图片
image.png

再点击metamacro_stringify_看


小驴拉磨之—ReactiveCocao(RAC)一些重要的宏_第2张图片
image.png

发现RAC的宏基本都是宏包装宏
下来给大家举个例子来说明一下

  • 创建两个宏
#define NUMBER 10
#define ADD(a,b) (a + b)

使用宏做一个打印

NSLog(@"%d + %d = %d", NUMBER, NUMBER, ADD(NUMBER, NUMBER));

结果


image.png

这个是没有问题的,接下来再看一个

  • 写一个宏
//将A,10,B进行pinjie
#define CALCILATE(A,B) (A##10##B)

使用宏做一个打印

NSLog(@"%d",CALCILATE(NUMBER,NUMBER));

编译就报错


小驴拉磨之—ReactiveCocao(RAC)一些重要的宏_第3张图片
image.png

报错了,因为宏中使用到了宏所以报错了。
我们把上面的宏按照RAC中的改一下

#define CALCILATE(A,B) _CALCILATE(A,B)
#define _CALCILATE(A,B) (A##10##B)

结果

小驴拉磨之—ReactiveCocao(RAC)一些重要的宏_第4张图片
image.png

运行没有问题
这个就是RAC中宏的使用,其他的宏都是类似的。RAC的团队这样使用宏的灵感来自于这个网站,感兴趣的童鞋可以看一下: http://p99.gforge.inria.fr

  • 还有在使用@weakify(self),@strongify(self)等类似宏时,block中的控件数量最好不要超过20的个原因,也是因为RAC中的宏定义


    小驴拉磨之—ReactiveCocao(RAC)一些重要的宏_第5张图片
    image.png

~~~未完待续

你可能感兴趣的:(小驴拉磨之—ReactiveCocao(RAC)一些重要的宏)