Objective-C und C++ Code mischen

Ich bin immer noch dabei eine Möglichkeit zu finden, erfolgreich einen Aufruf des Webservices auszuführen. Da meine Versuche mit den von WSMakeStubs erzeugten Stubs keinen Erfolg gebracht haben, habe ich mir nun vorgenommen mit Hilfe von gSOAP C++ Stubs zu erzeugen die ich dann in meiner Cocoa Anwendung verwende.
Dazu habe ich heute erst mal geprüft inwiefern sich Objective-C und C++ - Code miteinander kombinieren lässt. Das erste Ergebnis ist erfreulich positiv!
Die C++ Klasse konnte ich direkt im Projekt anlegen. Um diese aus meiner Objective-C Klasse aus instanzieren zu können, hat es ausgereicht die Objective-C Datei mit der Endung ".mm" statt ".m" zu versehen.
In diesem Fall wird der Objective-C++ Compiler verwendet, der eine gemeinsame Verwendung von Objective-C und C++ zulässt.
In den Projekteinstellungen lässt sich bei den Build Einstellungen allerdings auch generell die verwendete Sprache einstellen:
Pasted Graphic

Ich finde die Standardeinstellungen "According to File Type" für meinen Fall passend.
Der gemischte Code kann dann z.B. so aussehen:

CPPTestClass *cpctc = new CPPTestClass(); // Instanz von C++ Klasse erzeugen
[
textfield setIntValue: cpctc->getValue()]; // Objective-C Nachricht mit Ergebnis von C++-Methodenaufruf als Parameter
delete cpctc; // C++ Objekt löschen

Mein nächster Schritt wird jetzt sein die von gSOAP erstellten Klassen in mein Projekt zu importieren und den Webservice Aufruf darüber auszuführen.
|