This question already has an answer here:
How do I lookup a string constant at runtime in Objective-C?
                                
                                    (1个答案)
                                
                        
                                5年前关闭。
            
                    
是否可以在目标c中动态引用常量:

例如NSForegroundColorAttributeName在UIKit / NSAttributedString.h中声明为const NSString。它的值是@"NSColor"。在已编译的代码中,我仅指定要使用的常量,但是如果我需要在运行时动态引用它(例如,用户可能会键入它),该怎么办?

我可以只使用@"NSColor",但可能会随着SDK的更改而改变。

是否有类似NSClassFromString的功能,例如ConstFromString

ConstFromString(@"NSForegroundColorAttributeName") --> @"NSColor"

最佳答案

如果该符号是公开的导出符号,那么您也许可以在运行时使用dlsym和朋友来查找它,但是我同意注释者的意见,这听起来像是个坏主意。

关于ios - 动态引用const(Objective-C),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28242218/

10-10 22:48