您的位置:首页 > 其它

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

2015-08-04 07:24 239 查看

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

#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”)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息