C'è un modo per trasformare una stringa in un blocco di codice? Sto facendo una richiesta Ajax a un mio sito Web che ha un endpoint che restituisce del codice veloce come una stringa. Posso recuperare quel codice come una stringa, ma non posso eseguire quel codice perché non sa che è un codice.Posso trasformare una stringa in un blocco di codice in swift?
risposta
No, non puoi farlo. Swift è un linguaggio compilato, non interpretato come Ajax.
Il compilatore Swift viene eseguito sul tuo Mac, non sul dispositivo iOS. (Lo stesso vale per l'obiettivo-C).
Inoltre, le linee guida di App Store di Apple vietano la consegna di codice eseguibile alle tue app, quindi anche se hai trovato un modo per farlo, la tua app verrebbe respinta.
Come altri hanno sottolineato, se si sta creando un'app iOS (soprattutto per la distribuzione nell'app store), non è possibile farlo. Tuttavia, se si sta scrivendo codice Swift per una macchina OS X E si sa che XCode è installato sulla macchina, è possibile eseguire la stringa di codice Swift eseguendo il compilatore Swift della riga di comando. Qualcosa di simile (con una corretta verifica degli errori, naturalmente):
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
Ancora una volta, questo è probabilmente non è raccomandato in quasi tutti i casi del mondo reale, ma è un modo è possibile eseguire una stringa di codice Swift, se davvero bisogno di
- 1. Come posso trasformare una stringa in una lista in Python?
- 2. Come posso trasformare una stringa in una forma abbreviata?
- 3. orientamento blocco di una vistaController in swift
- 4. È possibile trasformare una richiamata in un blocco asincrono?
- 5. come trasformare una stringa in un'espressione linq?
- 6. Come trasformare un metodo Ruby in un blocco?
- 7. Trasformare un hash in una stringa di coppie nome-valore
- 8. Decodifica una stringa in Swift
- 9. Come trasformare una stringa in una chiamata di funzione JavaScript?
- 10. Come posso creare una stringa da UTF8 in Swift?
- 11. Separare una stringa in swift
- 12. Come posso trasformare una bitmap in un Uri?
- 13. Blocco di completamento Swift
- 14. Semantica di trasformare lista in stringa
- 15. Swift Ottieni una stringa tra 2 stringhe in una stringa
- 16. trasformare l'oggetto dattiloscritto in stringa json
- 17. riutilizzare un blocco di codice in YAML
- 18. Come posso creare un blocco noop per un caso di commutazione in Swift?
- 19. Javascript: come posso trasformare un array?
- 20. Rendi il codice sorgente da un blocco di codice l'ingresso ad un altro blocco di codice in Emacs org-mode
- 21. Converti array Swift CChar in una stringa
- 22. Trasformare un data.frame in una singola riga
- 23. Swift: Come ottenere una stringa dal codice ASCII
- 24. Come trasformare una stringa in minuscolo con preg_replace
- 25. Aggiungere una proprietà stringa a un UIButton in Swift
- 26. Come posso trasformare un array restituito da una funzione (come split) in un riferimento di array?
- 27. Swift - Risoluzione di un'operazione matematica in una stringa
- 28. In Python, come posso creare una stringa di n caratteri in una riga di codice?
- 29. come utilizzare blocco/chiusura in swift
- 30. Come posso trasformare un lavandino in un condotto?
Non è un programmatore Swift ma sembra una cattiva idea per molte ragioni: 1- Se il canale è compromesso, un utente malintenzionato può rendere banale l'esecuzione arbitraria della propria applicazione. 2- Se si tratta di un'app di App Store, Apple la rifiuterà poiché non consente il download del codice eseguibile. 3- Dovresti avere la tua app per compilare il codice che potrebbe essere lento/impossibile a seconda del dispositivo. In definitiva, dovresti inserire quel codice nella tua app e chiedere al tuo server di inviarti un messaggio che indichi all'app quale codice eseguire. –