自动提示宏-----输入什么属性,就把属性自动生成OC字符串

来源:互联网 发布:淘宝售假申诉代购小票 编辑:程序博客网 时间:2024/05/16 04:45

自定义下面的宏就拥有自动提示属性功能

#define XMGkeyPath(objc, keyPath) @(((void)objc.keyPath, #keyPath))

一:作用和使用场景

  • 自动提示宏意义:输入什么属性,就把属性自动生成OC字符串.
  • 自动提示宏作用:输入某个对象的某个属性的时候有自动提示功能
  • 自动提示宏应用场景:在KVO,KVC中使用自动提示宏,监听某个对象某个属性,通过自动提示宏,就可以防止输入错误.

二:自动提示宏如何实现:

  • 了解宏的实现原理,每输入一个字母就会拷贝一次,首先会把之前的内容补齐

  • 在宏里面如果在参数前添加了#,就会把参数变成C语言字符

  • 在代码中,输入某个对象的某个属性的时候都有提示,可以在宏里面也有做这样的操作,假设在宏里面输入某个对象的某个属性.

  • 最终宏需要把宏里面的keyPath这个参数生成一个OC字符串

  • 使用逗号表达式,永远等于最右边的值,在右边生成一个keyPath的OC字符串

  • 一旦把一个值强转成void类型,表示不使用这个值

  • 在宏里面只能做到把参数变成c字符串,因此先生成c字符串,在转换成OC字符串.

  • 在宏里面如果在参数前添加了#,就会把参数变成C语言字符串 #keyPath = “keyPath”

  • c语言如何转OC字符串,也是包装一下 @(“c”)

0 0
原创粉丝点击