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