在Objective-C中是否可以从字符串中执行Swift代码?

时间:2016-11-07 17:59:48

标签: ios objective-c

我见过这样一个学习应用程序。

它在iOS应用程序中运行swift代码。所以我下载了swift的源代码,现在我不知道接下来应该做什么。

它与桥梁之类的东西完全不同......用户必须编写代码......不是我...... 例如在python中,我们可以使用它的库来运行以字符串形式给出的命令:

#include <Python.h>

int main(int argc, char *argv[]) {
  Py_SetProgramName(argv[0]);  /* optional but recommended */
  Py_Initialize();
  PyRun_SimpleString("from time import time,ctime\n"
                     "print 'Today is',ctime(time())\n");
  Py_Finalize();
  return 0;
}

现在我正在搜索类似:SwiftRun_SimpleString("print(\"Hello!\")");

的内容

1 个答案:

答案 0 :(得分:2)

您要问的是如何运行或解释在运行时提供的Swift代码,如Swift命令行REPL或iPad的Swift Playgrounds应用程序。对于stackoverflow来说,完整的答案实在太复杂了。

您需要使用Swift compiler source code来执行此操作。首先查看swift-lldb (the version of the llvm project's debugger with Swift support),它会执行您所描述的内容。