1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

Übersetzen eines C++ Programmes in Objective-C

Dieses Thema im Forum "OS X-Developer" wurde erstellt von Zettt, 10.05.06.

  1. Zettt

    Zettt Doppelter Melonenapfel

    Dabei seit:
    16.10.05
    Beiträge:
    3.374
    Hallo

    Ich habe vor einiger Zeit mir ein bisschen C anzueignen. Hab dort angefangen mein Programm für unsere Studenten zu schreiben.
    Bin dann zwischendrin übergegangen das in C++ anzufertigen.
    Das Programm läuft auch soweit in C++ leider halt nur über die Kommandozeile

    Jetzt will ich das Ding gerne grafisch aufbereiten und hab einige Schwierigkeiten dabei.

    1) Wie kann ich einen NSPopUpButton sagen er soll Variablen aus einem Array einlesen, welche ich im main() deklariert habe, und dort anzeigen?

    Ich versuche derzeit vier PopUpButtons so zu machen, dass sie eben aus diesem Array die Anzahl der Möglichkeiten auslesen. Und dann die einzelnen Werte an sich anzeigen. Also beispielweise:
    array [10] = {1,2,3,4,5,6,7,8,9,10};
    Dann soll der Button eben sich auf 10 mögliche Auswahlen einstellen (und die Listenlänge verändern) und in der Liste soll eben 1,2,3,4,5,6,7,8,9,10 angezeigt werden.

    2) Wie gib ich ein Array überhaupt an?
    In C++ war das ja int array [dimension1][dimension2][dimension3] = {};
    In Obj-C ist das wohl NSArray array [dimension1][dimension2][dimension3] = {};
    Geht das genauso? Nö oder ich muss doch sicher erstmal sowas wie
    NSArray *array = [NSArray array []];
    schreiben?

    More problems to come...ich hoffe ihr könnt mir helfen.
    Habe kein anderes deutsches Objective-C Forum gefunden und ich denke ich bin hier trotzdem richtig.
    Danke
     
    #1 Zettt, 10.05.06
    Zuletzt bearbeitet: 10.05.06
  2. sumpfmonsterjunior

    sumpfmonsterjunior Morgenduft

    Dabei seit:
    17.03.05
    Beiträge:
    167
    Hi,

    da hast Du Dir ja einiges vorgenommen.
    Für deutschsprachige Infos schau mal unter
    http://www.macentwicklerwelt.net/index.php?title=Hauptseite
    nach.

    Wahrscheinlich wirst Du aber um Englisch nicht drumrumkommen, denn die umfangreichste Doku zu Objective-C und Cocoa kommt von Apple ( http://developer.apple.com ).

    Nun zur Lösung Deines Problems:
    Kurz gesagt: in XCode eine Cocoa document based Application anlegen, dann im Dokument ein NSMutableArray mit den gewünschten Eigenschaften anlegen (->Referenzdoku XCode) und mittels Cocoa-Bindings die Combobox Deines UI an das Array koppeln. Ist eigentlich sehr simpel und super-elegant mit Cocoa zu lösen, aber man muss eine gewisse Lernkurve meistern. Darüberhinaus hilft es sehr, wenigstens ein wenig Grundkenntnisse in objektorientierter Programmierung und Entwurfsmustern zu haben.

    Ein hervorragendes, wenn auch nur in Englisch verfügbares, Buch ist dieses

    http://www.amazon.de/exec/obidos/AS...293179/sr=8-1/ref=pd_ka_1/302-1150582-7347261

    Es lohnt sich sehr, sich da durchzuackern, es ist kurzweilig geschrieben und man lernt sehr viel sehr schnell.

    Zum Thema Entwurfsmuster sei Dir dieses Buch empfohlen:

    http://www.amazon.de/exec/obidos/AS...3334/sr=2-1/ref=sr_2_11_1/302-1150582-7347261

    Gruß, SMJ
     
    #2 sumpfmonsterjunior, 10.05.06
    Zuletzt bearbeitet: 11.05.06
  3. MacApple

    MacApple Lord Grosvenor

    Dabei seit:
    05.01.04
    Beiträge:
    3.469
    Du hast das Mac OS X Entwicklerforum nicht gefunden? Wie kommt's? :)

    MacApple
     
  4. Zettt

    Zettt Doppelter Melonenapfel

    Dabei seit:
    16.10.05
    Beiträge:
    3.374
    Ich hab auch nix gegen Englisch! Ich habe nur jetzt schon soviele englische Texte gelesen, dass ich gerne mal das ganze Zeugs auf deutsch lesen möchte, nur damit ich weiss wie es auf deutsch genannt wird.
    ...ausserdem sind manche Bezeichnungen doch recht verwirrend für einen Objektiv Programmierneuling.

    Das Buch "Cocoa Programming for MacOSX" hab ich mir schon gekauft ;)

    Bedanke mich auf jeden Fall für die nette Hilfe.
    Ich weiss, dass ich mir da was vorgenommen habe. Aber was einen Menschen nicht so alles interessiert :innocent:
     
  5. sumpfmonsterjunior

    sumpfmonsterjunior Morgenduft

    Dabei seit:
    17.03.05
    Beiträge:
    167
    Hallo Zettt,

    wollte Dich keinesfalls entmutigen. Wenn man sich einmal ein wenig eingearbeitet hat, macht es einen riesen Spaß, mit Cocoa zu programmieren. Das Framework ist genial!

    Du kommst sehr schnell zu Ergebnissen, gegen die selbst so gute C++ Frameworks wie QT hölzern und aufwendig wirken. Wenn Du einmal dabei bist, schau Dir gleich CoreData an, es gibt da ein sehr gutes Video-Tutorial auf Apples Developer Seiten.

    Melde Dich gerne, wenn Du weitere Fragen hast,

    beste Grüße

    SMJ
     
    Zettt gefällt das.
  6. Zettt

    Zettt Doppelter Melonenapfel

    Dabei seit:
    16.10.05
    Beiträge:
    3.374
    Ach iwo wieso denn entmutigen ;)

    Video-Tutorial? Hab ich noch gar nicht entdeckt...wonach muss ich da Ausschau halten?

    Ich habe gestern mal auf cocoadevcentral.com die zwei grundlegenden Tutorials mir durch gelesen, in denen es hauptsächlich ums benennen geht. Das fand ich schon schick, wie die das erklärt haben. Sozusagen benenne dein Zeug gut und du kannst deinen eigenen Code wie ein Buch lesen. Und das las sich auch echt gut. Eindeutig und verständlich auch ohne grossartig in die Materie eingetaucht gewesen zu sein.
     
  7. sumpfmonsterjunior

    sumpfmonsterjunior Morgenduft

    Dabei seit:
    17.03.05
    Beiträge:
    167
    Hi Zettt,

    unter http://developer.apple.com/cocoa/coredatatutorial/ findest Du das Tutorial als Quicktime-Movie in 10 Lektionen unterteilt.

    Darin lernst Du, eine Beispielapplikation zu erstellen, die Laden/Speichern, Undo/Redo und Suche enthält, ohne dass Du auch nur eine einzige Zeile Code schreiben mussst.

    Gruß, SMJ
     

Diese Seite empfehlen