【发布时间】:2018-02-05 16:58:36
【问题描述】:
我有一个公共常量文件,其中包含我所有的目标 C 宏,为了在 swift 类中访问我的目标 c 宏,我计划实现以下文章中建议的方式。
Way To Access Objective C macros In Swift
基本上,建议是创建 .h 和 .m 文件并添加公共方法,这些方法也返回我们想要访问的宏。例如
我有一个客观的 C 宏来获取自定义颜色
#define THEME_COLOR [UIColor colorWithRed:115.0/255.0 green:190.0/255.0 blue:123.0/255.0 alpha:1.0f] // this macro is not accessible inside swift class
所以我正在创建一个方法如下
+ (UIColor *) themeColor {
return THEME_COLOR;
}
现在在我的 swift 课程中,我可以访问此方法。由于上述方法是在全局类中声明的,因此我所有的目标 C 类也都在访问此方法。我只想在从 swift 类访问此方法时才授予对它的访问权限,有什么办法吗?还是有其他更好的方法可用?
非常感谢任何建议或帮助。提前致谢
【问题讨论】:
标签: objective-c swift macros access-specifier