在运行时覆盖常量值

Overriding a constant value at runtime

我正在通过 cocoapods 使用一些外部库,并被要求自定义其标准行为。我发现,这种行为取决于一个在库中声明的常量。

像这样

static const NSString *CONSTANT_NAME = @"..";

此常量在整个代码中使用,因此调配每个受影响的方法并复制代码将是一个非常肮脏的解决方法。

当然,我可以只编辑源文件,但每次我这样做时常量都会回滚到原来的状态

pod update

所以,我想知道是否有解决问题的好方法。也许,在运行时。

提前致谢!

您将不得不停止使用 cocoapods 并开始使用您自己的 git 存储库分支,并使用您修改后的常量。

另一种方法是修改源代码,以便可以在运行时配置此常量(即不再是常量)并向作者发送拉取请求。

开源万岁!