2015-06-11 4 views
5

ich viele Artikel gesehen haben, zu erklären, wieC-Funktionen von Swift nennen, aber ich möchte das Gegenteil erkunden (wenn möglich), Swift-Funktionen von C zu nennen.Aufruf Swift von C

Ich habe Beispiele gesehen, die Swift-Funktionen in objC zeigen, aber diese bringen mich meinem Ziel nicht näher. Wird diese Aufgabe sogar unterstützt?

+0

Nur eine Vermutung, aber nein. Sie müssten die gesamte Laufzeit für Swift von C einrichten, was überhaupt keinen Spaß macht und auch keinen Sinn ergibt. Das Aufrufen eines niedrigen Pegels aus einer höheren Sprache ist aus Gründen der Leistung (oder der niedrigen E/A-Ebene) sinnvoll. Aber umgekehrt ist es einfach - nun, ich habe keine passenden Worte, wenn Sie wissen, was ich meine. –

+0

ja, würde ich ähnlich annehmen. Es wäre nur schön, bestehende in C geschriebene Projekte um neue Module zu erweitern, die in Swift geschrieben sind, wenn es möglich wäre. – sam

+0

Huh. Wie gesagt: umgekehrt hätte ich kein Problem, aber so? Stellen Sie ein Swift-Gerüst her und verwenden Sie Ihren alten C-Code, indem Sie ihn Schritt für Schritt durch den Swift-Code ersetzen. –

Antwort

2

Die einzige unterstützte Methode zum Aufrufen von Swift-Code aus C-Code ist die Verwendung von Objective-C zwischen den beiden.

Das ist nicht zu sagen, dass es völlig unmöglich ist, aber jemand hätte ein NSInvocation-ähnliches Dienstprogramm und Wrapper für Objekte, die nicht eine genaue C-Darstellung haben.