在运行时覆盖常量值

时间:2015-03-05 09:20:55

标签: ios constants objective-c-runtime

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

喜欢这样

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

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

当然,我可以编辑源文件,但每次我都会将常量回滚到原始状态

pod update

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

提前Thanx!

1 个答案:

答案 0 :(得分:1)

您必须停止使用cocoapods并开始使用您自己的git repo分支,并修改常量。

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

Viva la open source!