我有一个包含许多条目的 Strings.h 文件,例如:
#define HIDE_WORD NSLocalizedString(@"Hide", @"the word on a button to Hide a screen that is showing")
如何让 Swift 可以使用这些宏,或者如果我不能让这些宏可用,有什么替代方法?将我想要的宏包装在 Swift 类方法中的最佳方法是什么?
This answer在我的情况下不起作用,因为 NSLocalizedString(@"Foo", @"Bar") 不是常量。
最佳答案
由于没有不编辑代码就可以自动将这些字符串导入 Swift 的方法,因此您不妨将所有数据直接导入 Swift。
正则表达式方法如何?
搜索
\#define (\w*) NSLocalizedString\(@"([^"]*)", *@"([^"]*)"\)
替换
let $1 = NSLocalizedString\("$2", comment: "$3"\)
关于objective-c - 当初始值设定项不是编译时常量时,在 Swift 中使用 C 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45803091/