selector mit parameter

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • selector mit parameter

    Hi

    ich hänge da gard etwas fest.

    ich habe mehrere Methoden die sich quasi nur an ganz wenigen Stellen unterscheiden.

    da dacht ich mir, geb doch einfach noch einen "typ" mit als Parameter und handle den Unterschied in einem switch ab.

    So weit, so gut (hoffe ich)

    Nur springe ich die Methoden per notification an.

    Und schon stürzen die Fragen/Probleme auf mich ein:
    Wie bringe ich den "typ" zur Methode?

    Als property? Hab ich mental unter globale Variable (alter C-programmierer...) und damit als böse abgelegt.

    Als Parameter? das würde ich am Liebsten machen. nur wie?

    Quellcode

    1. [nc addObserver:self selector:@selector(meineMethode:) name:notificationZeileOben object:nil];

    nach dem Doppelpunkt von meineMethode kann ich ja nichts mitgeben. (oder doch? wenn ja, wie?)

    oder muss ich dann tatsächlich jedes mal bei

    Quellcode

    1. [nc postNotificationName:notificationZeileOben object:self ];

    für userinfo ein dictionary aufbauen?

    Das erscheint mir zu umständlich.

    Oder macht man das noch ganz anders?
    Ich habe auch keine Loesung, aber ich bewundere das Problem!
    _____________________________________________________


    Hape42
  • Mit

    Quellcode

    1. [nc addObserver:self selector:@selector(meineMethode:) name:notificationZeileOben object:nil];

    meldet Du einen Observer für die Notification mit dem Namen an, welcher in dem Objekt notificationZeileOben enthalten ist. Die Methode meineMethode: hat als Parameter dabei immer ein Objekt vom Typ Notification und zwar genau die Notification welche mit

    Quellcode

    1. [nc postNotificationName:notificationZeileOben object:self ];

    gepostet wurde.

    Wenn Du weitere Daten, Objekte, etc. an die Observer-Methode einer Notification übergeben möchtest, dann musst Du dafür die userInfos beim Posten einer Notification verwenden.