gpt4 book ai didi

objective-c - 如何让我的 Objective C 类方法只对 Swift 类可见

转载 作者:行者123 更新时间:2023-11-28 12:17:42 26 4
gpt4 key购买 nike

我有一个通用常量文件,其中将包含我所有的 Objective-C 宏,以便在 swift 类中访问我的 Objective-C 宏,我计划实现以下文章中建议的方式。

Way To Access Objective C macros In Swift

基本上,建议的是创建 .h 和 .m 文件并添加返回我们想要访问的宏的公共(public)方法。例如

我有一个 Objective-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 类中,我可以访问这个方法。由于上述方法是在全局类中声明的,因此我的所有 Objective-C 类也都在访问此方法。我只想在从 swift 类访问时才允许访问此方法,有什么办法吗?或者还有其他更好的方法吗?

非常感谢任何建议或帮助。提前致谢

最佳答案

不要将定义 +themeColor.h 文件导入到您的 ObjC 代码中。只需将它放在 Swift 的桥接 header 中即可。

(也就是说,我不会为这个烦恼。我强烈建议只删除宏并在任何地方使用该方法。如果你不想删除宏,我仍然不会'不要对 ObjC 隐藏方法。方法通常是更好的解决方案。)

关于objective-c - 如何让我的 Objective C 类方法只对 Swift 类可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45918727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com