是的,所以我注意到你可以做NSClassFromString和NSSelectorFromString。
是否可以执行类似NSVariableFromString?
的操作答案 0 :(得分:4)
没有。编译的应用程序不包含变量名称,除非包含调试信息,并且通常不适用于发布应用程序。
答案 1 :(得分:4)
目标C运行时有很多好处可供消费。
如果你想要一个iVar,你可以用字符串名称调用object_getInstanceVariable。
如果你想要变量,它需要更多的工作,并且它们必须对链接器是全局可见的。您可以为此目的使用CFBundleGetDataPointerForName。
请务必阅读文档,了解有关运行时信息的限制和特定信息,以及不同平台上的内容的可用性。
答案 2 :(得分:1)
您可以使用NSScanner
从字符串中获取值但是,作为JemeryP注释,在运行时变量名称通常已转换为指针和内存地址。