cocoa/objective-c lernen -> infos/foren

  • komm gerade drauf, was für einen vorteil es doch hat, eine sprache/ein system zu lernen/benutzen deren verbreitungsgrad hoch ist. informationen/foren/sample code/ebooks lässt sich viel schneller/mehr/einfacher zu java/c/php finden...

    von daher meine frage:
    was für anlaufstellen könnt ihr empfehlen?
    jemand ebook-tausch bereit?

    ... ausser cocoadevcentral.com, developer.apple.com und der eingebauten hilfe/dokumentation ...

    ps: selbst zu NSBrowser was zu finden ist recht mühsam...

  • [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • dachte ich mir doch, dass hal zuerst antworten würde, unser.... osx-design-award gewinner, wenn ich mich recht erinnere?!

    auf cocoadev.com bin ich schon mal zwischendurch gestoßen -is leicht so gut?-, aber cocoabuilder.com ist mir neu -danke, werd mal einen blick drauf werfen.

    ... umso mehr ich mit xcode arbeite, desto mehr gefällt es mir ... coredata apps mit uml-like wysiwyg-editor, mischen von java/objective-c code, quicktime (NSMovie, NSMovieView), labeled arguments (endlich is jemand draufkommen dass die reihenfolge der parameter nicht in einer vorgegebener stattfinden muss/sollte und hat das auch umgesetzt) ... nett, nett.

    nur die viele (notwendige!) rumklickerei und die eigene syntax von objective-c (messages) ist etwas gewöhnungsbedürftig.

    ps: woher eigentlich das prefix NS?
    pps: die seite von theocacao.com ist schön gemacht.

  • Zitat von phudy

    endlich is jemand draufkommen dass die reihenfolge der parameter nicht in einer vorgegebener stattfinden muss/sollte und hat das auch umgesetzt

    Naja, das geht in Objective C leider nicht. Die Parameter unterbrechen einfach den Methodennamen an gewissen Stellen. Wenn du so etwas willst, brauchst du ein NSDictionary als Parameter.

    Zitat

    ps: woher eigentlich das prefix NS?

    NeXT/SUN, die Entwickler von Cocoa.

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • Zitat von hal

    Naja, das geht in Objective C leider nicht. Die Parameter unterbrechen einfach den Methodennamen an gewissen Stellen. Wenn du so etwas willst, brauchst du ein NSDictionary als Parameter.

    NSDictionary... hash... assoziatives array... hab ich auch schon alles hinter mir :D


    hm.... versteh aber dein "methodennamen unterbrechen" nicht.

    meiner vorstellung nach, geht das ja durch argument-labels schon:

    Code
    [receiver doSomething:@'erstas' methodParam2:@'zweitas' methodParam4:@'drittas'];

    bzw das selbe dadurch möglich:

    Code
    [receiver doSomething:@'erstas' methodParam4:@'drittas' methodParam2:@'zweitas'];

    receiver object hat dann sowas wie:

    Code
    - (void)doSomething:(NSString *)p1
    		methodParam2:(NSString *)p2
    		methodParam3:(NSString *)p3
    		methodParam4:(NSString *)p4

    somit ist 3 auf nil, ooooooder??

    apropos, methoden deklarieren, dieses zeichen davor bedeutet.... ?

    - ... private
    + ... public ?
    wie von uml-diagrammen, oder wie? was gibts denn da sonst noch?

    [edit]: NS steht lt wikipedia für NextStep.... was/wieviel hat sun da leicht mitgemischt?
    [edit2]: bzgl "was an key-value-coding eigentlich so tolles dran ist": http://theocacao.com/document.page/161 (hab ich mich schon öfters gefragt, hier die antwort)

  • Zitat von phudy

    meiner vorstellung nach, geht das ja durch argument-labels schon:

    Nein, genau das geht eben nicht... Probiers mal aus!

    Zitat

    apropos, methoden deklarieren, dieses zeichen davor bedeutet.... ?

    - ... private
    + ... public ?
    wie von uml-diagrammen, oder wie?

    Nein, - ist eine normale Instanzmethode, und + wird in C++ mit "static" deklariert, d.h. das sind Klassenmethoden.

    Sichtbarkeiten hat die Sprache nicht explizit, normalerweise werden Methoden, die nicht public sein sollen, einfach nicht im header deklariert (was keiner weiß kann auch keiner aufrufen).

    Zitat

    [edit]: NS steht lt wikipedia für NextStep.... was/wieviel hat sun da leicht mitgemischt?

    Tja, auch die Wikipedia enthält Fehlinformationen :) Ich hab meine Infos von ehemaligen NeXT-Mitarbeitern, die werdens wohl wissen denk ich mir...

    Sun hat Objective C mitentwickelt. Java (als Programmiersprache) ist nichts anderes als Objective C so umgestaltet, dass es C++-Programmierern nicht zu fremd vorkommt.

    [edit2]: bzgl "was an key-value-coding eigentlich so tolles dran ist": http://theocacao.com/document.page/161 (hab ich mich schon öfters gefragt, hier die antwort)[/QUOTE]

    Da wird leider KeyValue-Observing nicht erwähnt, was die Geschichte erst wirklich interessant macht. Vor allem weil das alles in Kombination mit KeyValue-Coding völlig automatisch geht.

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • Zitat von hal

    Nein, genau das geht eben nicht... Probiers mal aus!

    grml..... so ein schaaass..... na gut, werd mir mal die nächsten stunden den kopf darüber zerbrechen -meld mich dann.


    Zitat von hal

    Sichtbarkeiten hat die Sprache nicht explizit

    uff.... mit was für einer begründung?
    ja gut, mit header workaround schaffen... aber vieles hat nur intern eine bedeutung, sollte gar nicht nach aussen sichtbar sein, damit nicht zu groß wird, und ausserdem und überhaupt..... versteh ich nicht, warum....

    Zitat von hal

    Sun hat Objective C mitentwickelt. Java (als Programmiersprache) ist nichts anderes als Objective C so umgestaltet, dass es C++-Programmierern nicht zu fremd vorkommt.

    interessant.... bekommt man gleich lust auf noch mehr objective-c.

    Zitat von hal

    Da wird leider KeyValue-Observing nicht erwähnt, was die Geschichte erst wirklich interessant macht. Vor allem weil das alles in Kombination mit KeyValue-Coding völlig automatisch geht.

    und vor allem KVB (KVC + KVO) :thumb:

    irgendwo gibts ne grafik die schön zeigt, dass wenn daten über einen controller in zweifacherweise dargestellt wird (chart + table), und über zb table daten geändert werden, diese über controller in model gespeichert wird. über observer bekommen dann das alle (hinaufgereicht) mit und bringen sich selbst auf den neuesten stand -nett

    apropos bücher: tu-bibliothek hat 2 und das igw-institut hat ebenfalls 2 bücher über cocoa/objective-c... mal schaun ob die was bringen......

  • Zitat von phudy

    uff.... mit was für einer begründung?

    War ihnen damals wohl noch nicht so wichtig. Variablen sind sowieso alle private, und bei Methoden kann man in ObjC sowieso nicht gewährleisten, dass die Sichtbarkeiten korrekt behandelt wird, wie sollte zB ein [obj performSelector:@selector(privateMethod: ) withObject:bla] gewertet werden?
    ObjC ist als Preprocessor zu C entstanden, und in C wird der Aufrufer nicht mitgespeichert beim Funktionsaufruf, daher kann man solche Entscheidungen nur zur Compilezeit entscheiden, allerdings kann man in ObjC Methoden ja auf sehr verschiedenartige Weise aufrufen (direkt, via -performSelector:withObject: mit @selector oder NSSelectorFromString(), via IMP-Aufruf, NSInvocation, ...).

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!