Tencent / QMUI_iOS

QMUI iOS——致力于提高项目 UI 开发效率的解决方案
http://qmuiteam.com/ios
Other
7.05k stars 1.37k forks source link

是不可以减少宏的使用? #1375

Open yangguanghei opened 2 years ago

yangguanghei commented 2 years ago

项目中存在大量的宏,感觉找代码具体实现都太好找😄

MoLice commented 2 years ago

这种问题可以举一些具体的例子,例如哪个宏改为非宏实现会更合适,不然不好谈论这个话题。

yangguanghei commented 2 years ago

`/// 标志当前项目是否正使用配置表功能

define QMUICMIActivated [QMUICMI active]`

比如说像这种代码,我本来以为QMUICMI是个类(实际也是个宏),想看下[QMUICMI active]里面的具体实现,可不能很快的找到具体实现代码。(这样的代码如果用内联函数代替是不更好些?我感觉是能不用宏尽量不用宏)

MoLice commented 2 years ago

你是指改为这样吗?

+ (QMUIConfiguration *)QMUIConfigurationInstance {
    [[QMUIConfiguration sharedInstance] applyInitialTemplate];
    return [QMUIConfiguration sharedInstance];
}
#define QMUICMIActivated QMUIConfigurationInstance.active
yangguanghei commented 2 years ago
CG_INLINE BOOL
UICMIActivated() {
    return [QMUIConfiguration QMUIConfigurationInstance].active;
}

像这样

MoLice commented 2 years ago

是可以,不过区别也不是很大。看有没有合适的时机再改吧