我知道这是一个奇怪的问题,但我想知道这是否可行。是否有任何方法可以在运行时运行代码(可由用户键入)?例如,假设我允许用户键入一些Core Graphics绘图代码。我希望此代码在我的预览窗格的drawRect
方法中运行。
所以我要做的就是将这组字符串转换为实际的运行时代码。
这是否可能,或者我只是在浪费时间?
答案 0 :(得分:3)
我看到了一些解决方案:
答案 1 :(得分:1)
在Mac上,您可以让您的应用程序向编译器发送文本(多个附带Xcode),编译代码,并将编译结果作为从属应用程序运行(例如,通过套接字控制,并复制预览窗格图像像素通过管道返回)。如果需要,您可以使用某种预处理器转换源代码文本,并将其包装在您自己的运行时shell中。
另外,您可以编写或移植C语言解释器(C语言的各个子集有几个开源解释器),并将Core Graphics库调用插入C解释器的解析器和运行时引擎。
我不知道Objective C的完整解释器。