1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

applicationDidFinishLaunching

Dieses Thema im Forum "OS X-Developer" wurde erstellt von mewX, 11.06.07.

  1. mewX

    mewX Wohlschmecker aus Vierlanden

    Dabei seit:
    26.12.06
    Beiträge:
    241
    Tach, das hab ich mir gerade aus dem Example von den Developer-Sachen "MenuMadness" abgeguckt:

    - (void)applicationDidFinishLaunching:(NSNotification *)notification {
    // The creation of new menus for the menu bar should be done in applicationWillFinishLaunching.
    print("test");
    }

    Das soll, sobald die App gestartet ist, ein paar Sachen machen. (hier zum testen print)
    nur: das funktioniert nicht :)
    muss ich da noch irgendwas ebachten? muss die funktion noch irgendwo reingechrieben werden?

    gruß
    mewX, der langsam aber almählich mehr von Obj-C zu verstehen versucht ;)
     
  2. Peter Maurer

    Peter Maurer Carmeliter-Renette

    Dabei seit:
    16.03.04
    Beiträge:
    3.274
    Wo hast Du die Funktion denn reingeschrieben? Nehmen wir an, Du haettest das in die Klasse MyController eingebaut, dann musst Du noch zwei Sachen erledigen:

    1. Mindestens ein Objekt der Klasse MyController muss bei Programmaufruf auch tatsaechlich instantiiert werden -- z.B. aus einer NIB-Datei.

    2. Dieses Objekt muss der Delegate des Programms (genauer: der NSApplication-Instanz, die von [NSApplication sharedApplication] oder kurz NSApp zurueckgegeben wird) sein. Am bequemsten legst Du das in der o.g. NIB-Datei fest (siehe auch hier, ganz unten).
     
  3. mewX

    mewX Wohlschmecker aus Vierlanden

    Dabei seit:
    26.12.06
    Beiträge:
    241
    Ah, danke, das hat mir gefehlt :) Jetzt funktionierts :)

    OK, dann nächste Frage :) Hab schon wieder min. 'ne halbe Stunde gesucht, aber:
    Habe einen tollen CustomView in meinem Hauptfenster-NIB, und einen View extra, den ich dann erst hin das Hauptfenster laden will, nachdem man was geklickt hat... Also so wie z.B. bei Preferences und so, wenn man oben was ausgewählt hat vergrörßert sich das Fenster und etwas wird hineingeladen; wobei das Vergrößern schonmal kein Problem war :)...
    (geht das überhaubt so?)
    Leider ist die Apple-Dokumentation für sowas reichlich unübersichtlich. Da fände ich Beispiele eigentlich mal ganz praktisch (aber fand ich schon toll gestern den Examples-Ordner entdeckt zu haben)...
     
  4. Peter Maurer

    Peter Maurer Carmeliter-Renette

    Dabei seit:
    16.03.04
    Beiträge:
    3.274
    Dieser Thread koennte Dich interessieren. Und wenn Du nur einen einzelnen Subview einbauen willst, dann lies einfach mal in der NSView-Referenz den Text zu [NSView addSubview:].
     
  5. mewX

    mewX Wohlschmecker aus Vierlanden

    Dabei seit:
    26.12.06
    Beiträge:
    241
    Hm....
    Also, ich hab einen Custom-View-Dings, verbunden an "viewer" und ein Fensterchen-View verbunden mit "MainView", dann im Controller .h
    IBOutlet NSView *viewer;
    IBOutlet NSView *MainView;
    und in .m
    [viewer addSubview:MainView];

    geht nicht ;)

    gruß
     
  6. Peter Maurer

    Peter Maurer Carmeliter-Renette

    Dabei seit:
    16.03.04
    Beiträge:
    3.274
    Was ist denn ein Fensterchen-View? Ist das der, der schon in Deinem Fenster liegt? Dann muesstest Du's natuerlich andersrum machen: [MainView addSubview: viewer]. Und dann am besten mit [view setFrame:] sicherstellen, dass der auch irgendwo liegt, wo man ihn tatsaechlich sehen kann.

    Und gewoehn' Dir gross geschriebene Instanzvariablen ab. Sieht ja aus, als waer's 'ne Klasse.
     
  7. mewX

    mewX Wohlschmecker aus Vierlanden

    Dabei seit:
    26.12.06
    Beiträge:
    241
    "fensterchen-View" lol... Naja, das Ding was im IB als Icon den Schriftzug "View" trägt, und in dem die Sachen stehen, die in den "Viewer" reingeladne werden sollen...
    Diesen "Viewer" hab ich ja als Objekt ("Custom-View") in das Hauptfenster hineingezogen...
    Hmmm
     
  8. Peter Maurer

    Peter Maurer Carmeliter-Renette

    Dabei seit:
    16.03.04
    Beiträge:
    3.274
    Zeig' doch mal einen Screenshot von Deinem Interface Builder. So wird das nix.
     
  9. mewX

    mewX Wohlschmecker aus Vierlanden

    Dabei seit:
    26.12.06
    Beiträge:
    241
    Hab die tolle Idee einfach mal das projekt hochzuladen ;)

    Danke für deine Hilfe!

    /edit: ich seh grad, irgendwie gehts doch ;) nur macht der das so weit unten dass ichs bisher immer übersehen hab :)
     

    Anhänge:

  10. Peter Maurer

    Peter Maurer Carmeliter-Renette

    Dabei seit:
    16.03.04
    Beiträge:
    3.274
    Na dann siehe oben. Die setFrame-Methode ist Dein Freund.
     
  11. mewX

    mewX Wohlschmecker aus Vierlanden

    Dabei seit:
    26.12.06
    Beiträge:
    241
    Also so oder wie?
    [viewer setFrame:[MainView frame]];
    Das sollte doch die Größe des "Viewers" auf die Größe meines "Unter-fensters" setzen, oder?
    Aber statdessen verschwindet der Inhalt von letzterem wieder ganz dadurch.......
    (sorry für das MainView ;) das muss natürlich klein)
     
  12. Peter Maurer

    Peter Maurer Carmeliter-Renette

    Dabei seit:
    16.03.04
    Beiträge:
    3.274
    Das koennte sozusagen aus Versehen hinhauen, wenn der "MainView" das Fenster komplett ausfuellt. Eigentlich willst Du aber eher das hier:

    [viewer setFrame: [MainView bounds]];

    Lies noch ein bisschen nach; es ist wichtig, die Unterschiede zwischen Bounds und Frames und ueberhaupt die View-Hierarchie richtig zu verstehen. :)

    Zusatzinfo: Wenn Du willst, dass der "viewer" bei Fenstergroessenaenderung mitwaechst bzw. -schrumpft, dann kannst Du das schon im Interface Builder festlegen (Apfel-3). Aber das wusstest Du wahrscheinlich schon.
     
  13. mewX

    mewX Wohlschmecker aus Vierlanden

    Dabei seit:
    26.12.06
    Beiträge:
    241
    Ja, nur bei den Einstellungen komm ich auch immer durcheinander ;)
    Ok, ich werd nochmal schauen... Das doofe Ding rutscht immernoch ganz nach unten ;(...
     
  14. mewX

    mewX Wohlschmecker aus Vierlanden

    Dabei seit:
    26.12.06
    Beiträge:
    241
    So, das werd ich wohl irgednwie hinbekommen.
    Aber:
    Gibt es eine einfache Funktionen um zu prüfen, ob ein Suchstring in einem anderen vorkommt? Habe bis eben gerade strstr() verwendet, aber das funktioniert irgendwie nicht mit NSString's.. Oder kann ich die NSStrings in C-chars umwandeln?
    /edit:
    NSRange *pos = [[self url] rangeOfString:mad:"some_string"];
    if (pos != NSNotFound) {
    Warum geht das nicht? (das gibt mir einen fehler von wegen typen stimmen nicht...)
     
    #14 mewX, 11.06.07
    Zuletzt bearbeitet: 11.06.07
  15. mewX

    mewX Wohlschmecker aus Vierlanden

    Dabei seit:
    26.12.06
    Beiträge:
    241
    Nächste Frage ;)
    http://cocoadevcentral.com/articles/000063.php
    Da steht erklärt, wie man NSTableViews macht.
    Aber: WO soll ich diese Funktionen implementieren? Worauf muss ich den dataSource dann sezten?
    ...wieso gibts nirgendwo *gut* und am besten mit Beispielen erklärt wie diese Sachen funktionieren.. :(
     
  16. Peter Maurer

    Peter Maurer Carmeliter-Renette

    Dabei seit:
    16.03.04
    Beiträge:
    3.274
    Rate mal, warum im Datentyp NSRange das Woertchen "Range" vorkommt. ;)

    Du willst das hier: ([@"magerquak" rangeOfString: @"quak"].location!=NSNotFound)

    Und abgesehen davon ist NSRange kein Objekt, sondern eine Struktur. Demenstprechend gibt -rangeOfString: auch keinen Zeiger auf einen NSRange zurueck, sondern gleich den wahren Jakob. In lang hiesse es deshalb:

    NSRange substringRange = [@"magerquak" rangeOfString: @"quak"];
    int substringLocation = substringRange.location;
    int substringLength = substringRange.length;

    Und dann eben weiter mit:

    if (substringLocation!=NSNotFound) NSLog(@"Juhu! Gefunden!");

    Hast Du das hier schon gelesen? Besser kann man's in einem Forum auch nicht erklaeren, denke ich. Vielleicht hilft Dir auch "DragNDropOutlineView" aus Deinem Examples-Ordner weiter. Wer NSOutlineView versteht, der versteht die Mutterklasse NSTableView erst recht. :)
     
    mewX gefällt das.
  17. mewX

    mewX Wohlschmecker aus Vierlanden

    Dabei seit:
    26.12.06
    Beiträge:
    241
    genau, super :)
    Na jut dann werd ich nochmal sehen. Die Examples sind mir nur schon wieder zu aufwendig :) Ich will ja nur *eine* kleine, zweispaltige Liste, in der drei editierbare Werte sind ;) Naja wird schon.. danke.
     

Diese Seite empfehlen