覆盖 Swift 中的全局函数

JRV*_*JRV 5 swift

是否可以在 Swift 中覆盖全局函数?

具体来说,我想覆盖NSLocalizedString. 这在 Objective-c ( #undef/ #define) 中很容易,但在 Swift 中NSLocalizedString被定义为全局函数,我找不到覆盖它的方法。

可以创建自己的函数MyLocalizedString,它调用原始函数,NSLocalizedString但随后我将失去 AppCode 对 Localizable.strings 文件的巧妙支持(本地化键的自动完成,IDE 显示本地化文本),我必须确保每次使用NSLocalizedString我的代码中的of被替换为MyLocalizedString.

编辑:我想达到什么目标?我希望能够动态更改 GUI 中的字符串。最简单的方法是重新定义 NSLocalizedString,然后自己在表中查找字符串。如果它不存在,我将使用 Localizable.strings 中的原始字符串。