Есть ли способ превратить строку в блок кода? Я делаю запрос Ajax на мой сайт, у которого есть конечная точка, которая возвращает некоторый быстрый код в виде строки. Я могу вернуть этот код в виде строки, но я не могу запустить этот код, потому что он не знает, что это код.Могу ли я превратить строку в блок кода в swift?
ответ
Нет, вы не можете этого сделать. Swift - это скомпилированный язык, который не интерпретируется как Ajax.
Компилятор Swift работает на вашем Mac, а не на устройстве iOS. (То же самое верно для Objective-C).
Плюс, правила магазина приложений Apple запрещают доставку исполняемого кода в ваши приложения, поэтому, даже если вы выяснили, как это сделать, ваше приложение будет отклонено.
Как указывали другие, если вы создаете приложение iOS (особенно для распространения в магазине приложений), вы не можете этого сделать. Однако, если вы пишете код Swift для машины OS X И вы знаете, что XCode установлен на компьютере, вы можете запустить строку кода Swift, запустив компилятор Swift из командной строки. Что-то вроде этого (с надлежащей проверкой ошибок, конечно):
var str = "let str = \"Hello\"\nprintln(\"\\(str) world\")\n"
let task = Process()
task.launchPath = "/usr/bin/swift"
let outpipe = Pipe()
let inpipe = Pipe()
inpipe.fileHandleForWriting.write(str.data(using: String.Encoding.utf8, allowLossyConversion: true)!)
task.standardInput = inpipe
task.standardOutput = outpipe
task.launch()
task.waitUntilExit()
task.standardInput = Pipe()
let data = outpipe.fileHandleForReading.readDataToEndOfFile()
let output = NSString(data: data, encoding: String.Encoding.utf8.rawValue)! as String
Опять же, это, вероятно, не рекомендуется практически во всех реальных случаях, но способ, которым Вы можете выполнить строку из Swift коды, если вы действительно нужно.
- 1. Как я могу превратить эту строку объектно-кода в Swift?
- 2. Превратить весь блок кода в строку в C
- 3. Как я могу превратить строку в оператор?
- 4. Как я могу превратить строку в список
- 5. Как я могу превратить строку в функцию?
- 6. Могу ли я превратить переменную $ в таблицу?
- 7. Могу ли я определить блок кода в Perl?
- 8. Как я могу превратить строку в ссылку класса в C#?
- 9. Как я могу превратить один из аргументов функции в строку?
- 10. Как я могу ускорить этот блок кода?
- 11. Как я могу превратить эту строку в datetime?
- 12. Как я могу превратить строку xml в таблицу html?
- 13. Как я могу превратить эту строку HTML в HTML-помощник?
- 14. Как я могу превратить регулярную строку в ключевое слово?
- 15. Как преобразовать блок кода в строку
- 16. Могу ли я синхронизировать блок кода с помощью экземпляра ArrayList?
- 17. Swift: как отменить блок кода
- 18. Я не могу понять этот блок кода
- 19. Могу ли я написать блок кода, используя короткий ES6/ES7
- 20. Как я могу разобрать в Java блок XML в строку
- 21. Рекурсивный блок в Swift
- 22. превратить строку в массив?
- 23. превратить строку в прямоугольник
- 24. Могу ли я превратить параметр типа в класс в Java?
- 25. Как превратить Ruby-метод в блок?
- 26. Как я могу превратить это в цикл?
- 27. Как превратить строку в уравнение математики?
- 28. Как я могу комментировать/раскомментировать блок кода в PsychoPy Builder
- 29. Как я могу удалить блок кода в php?
- 30. Могу ли я превратить awt-образ в изображение gwt?
Не быстрый программист, но это звучит как плохая идея по многим причинам: 1- Если канал взломан, злоумышленник может заставить ваше приложение выполнить произвольный код тривиально. 2- Если это приложение в App Store, Apple отклонит его, поскольку они запрещают загрузку исполняемого кода. 3. Вам нужно будет скомпилировать код, который может быть медленным/невозможным в зависимости от устройства. В конечном счете, вы должны поместить этот код в свое приложение и отправить сервер вашему сообществу сообщение о том, какой код запускать. –