Frage

Ich habe durch die Arbeit meines Weges durch das Hillegass Buch Objective-C und Cocoa Lernen und es fällt mir ein, dass ich Objective-C ++ sein könnte besser mit. Objective-C scheint, wie die klare Wahl für UIs zu entwickeln, aber ich habe einen sehr starken C ++ Hintergrund und würde gerne Anwendung Backends in C ++ zu entwickeln und Objective-C ++ verwenden, die UI-Integration zu tun. Aber ich frage mich, ob Apple Objective-C halte Entwicklung ++ oder wird es eine Sackgasse werden.

Ist jemand da draußen Objective-C ++?

War es hilfreich?

Lösung

Disclaimer: Ich habe nicht für Apple arbeiten oder sprechen, so ist dies meiner Meinung nach:

Ich kann nicht für die großen Entwickler Geschäfte sprechen, aber in meiner kleinen Gruppe haben wir Objective-C ++ sowohl für die Integration von C ++ Bibliotheken verwendet und wie Sie vorschlagen, für Backends in C ++ zu schreiben. Wie @alxp erwähnt, solche Dinge Ausnahme über die Sprachgrenze Handhabung sind schmerzhaft, aber mit ein wenig Planung können die meisten dieser Schmerzen vermieden werden. Für erfahrene C ++ Entwickler können die Gewinne gut sein, den Schmerz wert.

Im Hinblick auf die Unterstützung, ich glaube, Sie, dass die Unterstützung in seinem aktuellen Zustand weggehen wird nicht in absehbarer Zeit annehmen kann. Es ist ein Teil der GCC-Codebasis und die Clang Werkzeugkette voll unterstützt (Apples nächstes Compiler Toolchain) Objective-C ++. Auf der anderen Seite gibt es keine offizielle Garantie, dass Apple einige der Warzen, zum Beispiel wird auch weiterhin die Integration Festsetzungs entwickeln.

Für aktuelle Projekte, ich würde sagen, dass bei Verwendung von Objective-C ++ Vorteil bietet, ist es sicher auf die bestehende Unterstützung angewiesen und sollten Sie es verwenden.

Andere Tipps

Die einzigen Male, die ich verwendet habe, ObjC ++ waren zu Port-Bibliotheken, um sie von meinem ObjC Code zugänglich zu machen. Die Auseinandersetzungen zwischen dem, wie ObjC ++ und ObjC Griff Dinge wie Ausnahmen und Klasse Schöpfung und Zerstörung nur machten es zu viel von Kopfschmerzen, die beiden Sprachen in einem Projekt zu jonglieren.

Ich glaube nicht, Unterstützung geht weg, sobald mit Cocoa / Java passiert ist, da es ziemlich soliden Teil der GCC ist, und die Tatsache, dass Objective-C ++ kompiliert gerade C nach unten ++ in der gleichen Art und Weise, dass Objective-C kompiliert nach unten zu gerade C, aber ich finde es immer noch nicht eine sehr angenehme Umgebung Software Objective-C und in der Lage zu bauen ist bequem voll, um die OS X bereitgestellten Frameworks im Vergleich zu.

Objective-C ++ ist wahrscheinlich so lange unterstützt bleiben wie Objective-C. Obj-C ++ ist ein grundlegendes Ziel für Klirren , von der erwartet wird, um schließlich gcc als Apples bevorzugte Compiler zu ersetzen. Die Nutzung ist wahrscheinlich steigen als Carbon-Anwendungen auf Cocoa Frontends bewegt werden.

Natürlich ist das Wort „wahrscheinlich“ erscheint zweimal oben weil Apple so aufregend ist unberechenbar. : -)

Ich vermute, Apple wird Objective-C unterstützen ++ für eine Weile, wie ich sehe keinen wesentlichen von Apple erforderlich wiederkehrenden Aufwand zu Objective C ++ zu halten wie Apple aktualisiert Cocoa und Objective C ++.

Der andere Tag war ich überrascht, als ich versuchte, einige Objective-C-Code zu Refactoring, die innerhalb einer Objective-C ++ Datei wurde unter Verwendung von Xcode Refactoring-Unterstützung. Auch wenn die Menüpunkte aktiviert sind habe ich die "Can not Objective-C ++ Code Refactoring. Xcode nur C und Objective-C-Code Refactoring kann." Fehlermeldung. Während also die Erstellung von Objective-C ++ wird auch weiterhin auf unbestimmte Zeit funktionieren I Objective-C ++ vermuten, wird ein Bürger zweiter Klasse innerhalb Xcode sein.

Ich nahm es aus allen meinen Code. Keine .mm Dateien.

Aber Sie müssen CPP-Dateien .m-Dateien zu sprechen. Die Lösung ist eine .c / .h-Datei, die die Blut-Hirn-Schranke intakt hält.

C ++ mit Objective-C ist in der Regel einfach zu viel Gepäck.

Objective-C ist wirklich nur ein Haufen von C-Code, die Objekte in der C-Sprache emuliert, und es noch mit dem C-Compiler, einschließlich den Objective-C-Header-Dateien. Mit Objective-C ++ verwendet den C ++ Compiler und umfassen die Objective-C-Header als C-Code, da C ++ wird C-Code ausgeführt werden. Objective-C ++ ist im Wesentlichen nur C, C ++ und Objective-C (das ist wirklich nur C)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top