iOS中将“对象的属性”转换为“字符串”的宏


#define KEY_PATH(objc, property) @(((void)objc.property, #property))

// 这样更易看懂
// 这里时逗号运算符,((void)objc.property, @(#property))的值就是@(#property)。
// 而#property转为C的字符串, @()将C的字符串转为OC的字符串对象。
#define KEY_PATH(objc, property) ((void)objc.property, @(#property))

优点:支持智能提示,不用担心手误写错。
在key-value时使用较多。

你可能感兴趣的:(iOS中将“对象的属性”转换为“字符串”的宏)