【发布时间】:2016-10-08 09:27:33
【问题描述】:
我想问一下,如何将包含一段代码的字符串转换为实际可运行的代码:
int x = 7;
int y = 9;
NSString *myCode = @"if(x > y) return x; else return y;";
我需要能够将 myCode 作为实际的 Objective C 代码运行。给出的示例是一个虚拟示例,只是为了说明这个想法。
【问题讨论】:
-
当您说“运行”时,您的意思是您将解析和评估表达式,还是将其转换为机器码并执行?
-
我需要能够执行它
-
您可以根据字符串输入调用(现有)选择器,您可以根据字符串输入向它们传递一些参数,但您不能“即时编译和运行一些任意的 Objective-c 代码”。除非您正在考虑自己的预定义脚本规则和解析器:从您的问题来看,您似乎没有想到这一点。
-
我需要做的是让用户随时可以编写一些规则的伪代码,并且能够将伪代码变成实际代码并能够应用它。我知道我已经可以设置规则并根据输入选择指定的规则,但我对 smg 的想法更广泛。谢谢你的建议。
标签: objective-c nsstring