2019-05-11 星期六 4

2019-05-11  本文已影响0人  老布威利斯

常常问自己,如果面对这个事情,优秀的自己是如何处理的?一切都好商量
record : 5, next: 7 days, from 5-12 to 5-18

//宏定义
#define FUNC_NAME(object,func)  @(((objc.func),#func))
//使用
NSString *str = FUNC_NAME(viewController,viewDidLoad);
str = @"viewDidLoad";

原理:objc.func帮助编译器在敲代码的时候动态提示,方便输入,#func可以把传进来的方法名转换为C语言字符串,最外层@()把C语言字符串包装成一个OC字符串对象

///枚举名转换为字符串
#define ENUM_TO_NAME(enum) @((#enum))
//使用
NSString *str =  ENUM_TO_NAME(UIButtonTypeCustom);
 str = @"UIButtonTypeCustom";

总结:#可以把传进来的变量生成字符串,生成后的字符串用于程序执行中字符串变量的使用 还是用于在编译前当做代码使用均可,看自己的需求灵活使用,发挥宏的作用

-analog signal is a continuous wave that keeps on changing over a time period.


image.png
上一篇 下一篇

猜你喜欢

热点阅读