2015-06-11 11 views
5

Ho visto molti articoli che spiegano come chiamare funzioni C da Swift, ma vorrei esplorare il contrario (se possibile), per richiamare le funzioni Swift dal C.chiamata Swift dal C

Ho visto esempi che illustrano le funzioni di Swift in objC, ma questi non mi avvicinano al mio obiettivo. Questo compito è supportato?

+0

Solo una supposizione, ma no. Avresti bisogno di impostare l'intero runtime per Swift da C che non è affatto divertente e non ha alcun senso. Chiamare un livello basso da un linguaggio di alto livello ha senso per motivi di prestazioni (o I/O di basso livello). Ma viceversa è semplicemente - beh non ho parole appropriate se sai cosa intendo. –

+0

sì, vorrei assumere allo stesso modo. Sarebbe bello estendere i progetti esistenti scritti in C con i nuovi moduli scritti in Swift se fosse possibile. – sam

+0

Huh. Come detto: viceversa non avrei problemi ma in questo modo? Crea uno scaffold Swift e riutilizzare il vecchio codice C, sostituendolo gradualmente con il codice Swift. –

risposta

2

L'unico modo supportato per chiamare il codice Swift dal codice C è utilizzare Objective-C tra i due.

Questo non vuol dire che sia del tutto impossibile, ma qualcuno dovrebbe inventare un'utilità e wrapper di tipo NSInvocation per oggetti che non hanno una rappresentazione C esatta.