!!!便捷开发 :将方法名或枚举转oc字符串

开发需求:当想打出方法名的字符串时,通常用@“frame”。自从学了宏之后,妈妈再也不用担心我敲方法名没有提示了。

我们一步一步学

  1. 首先我们定义一个方法
#define Funcname(objc,func)   (objc.func)  
在这说一下,由于xcode编译器的原理,每打一个字符就会对宏去匹配。所以当输入objc对象后,在输入后面的func时会自动匹配方法。可以尝试在控制器.m文件中输入__`Funcname(self,view)`__,后面打view时会自动补全。
  1. 把方法放出来
#define Funcname(objc,func)   ((objc.func),func)  
这是C语言逗号表达式的功能(注意:此方法会无法使用,这就要考下一步了)_(没事多看看C语言吧)_
  1. 将方法转换为c字符串
#define Funcname(objc,func)   ((objc.func),#func)  

对,就是在方法名前加一个#号,这样就可以将方法名转为c字符串了

  1. 将c字符串转换为NSString类型
#define Funcname(objc,func)   @(((objc.func),#func))  

非常精彩,就是像这样@('abc')将c字符串转为NSString

学习扩展:同理可以试试将枚举字名转字符串?

你可能感兴趣的:(!!!便捷开发 :将方法名或枚举转oc字符串)