Class with constants
本问题已经有最佳答案,请猛点这里访问。
我是目标C的新手,所以这个问题可能很愚蠢。我需要一个只有常量的类。假设我有许多这样定义的常量:
1 | uint8_t const ONE = 1 |
在我的应用程序中,A有20个常量,我想从许多地方(类)访问它的值。在C中,我将使用带有常量的类来实现这一点,并静态地访问它们:
1 | Constants.ONE; |
号
但在目标C中,这对我来说是个问题。我知道我可以将常量放到一些头文件中,然后将其导入到类中,但存在复制的风险。
例如,A有一个A、B、C类。在A、I类中,导入B和C类。每个类都需要访问常量,但我不能将头文件导入每个常量(如果B类有常量,而A类也有常量,则常量是重复的)。
Objective-C是C的超集,这意味着您可以在代码中使用任何C特性。现在IIRC C不直接支持
1 2 3 4 5 6 7 8 9 10 11 12 | struct constants { const int INT_VALUE; const char* STRING_VALUE; } const Constants = { .INT_VALUE = 10, .STRING_VALUE ="Foobar" }; ... Constants.INT_VALUE ... |