Dynamisch erzeugte Aktionen stürzen ab wenn die Events übergeben werden

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

  • Dynamisch erzeugte Aktionen stürzen ab wenn die Events übergeben werden

    Hallo,

    ich erzeuge zur Laufzeit einige UIButtons und weise ihnen Actions zu.

    Die Zuweisung sieht so aus:

    Quellcode

    1. [newButton addTarget:vController action:@selector(clickedButton:) forControlEvents:UIControlEventTouchUpInside];



    Klappt auch problemlos mit diesem Code:

    Quellcode

    1. -(void)clickedButton:(id)sender {
    2. [self showMsg:@"Button gedrückt"];
    3. }



    Möchte ich aber den Event auch übergeben, stürzt die App beim Touch ab.

    Quellcode

    1. -(void)clickedButton:(id)sender forEvent:(UIEvent *)event {
    2. [self showMsg:@"Gallery gedrückt"];
    3. }


    Ob die Aktion nun vom Typ void oder IBAction ist, spielt keine Rolle, es kommt immer der Fehler:
    -[XmlViewController clickedButton:]: unrecognized selector sent to instance 0x6844c70

    2011-03-04 16:48:55.994 Semiramis[1574:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[XmlViewController clickedButton:]: unrecognized selector sent to instance 0x6844c70'



    Wie kann ich dem Programm klar machen, dass es mir auch den Event übermittelt ?

    Ich dachte, bei den Aktionen kann man wahlfrei mit oder ohne Sender und Event arbeiten ??
  • Gibbsnich schrieb:

    -[XmlViewController clickedButton:]: unrecognized selector sent to instance 0x6844c70

    Es hätte heißen müssen:

    Quellcode

    1. [newButton addTarget:vController action:@selector(clickedButton:forEvent:) forControlEvents:UIControlEventTouchUpInside];

    wobei ich nicht weiß, ob man diese Methoden-Struktur (also mit sender und event) überhaupt bei addTarget verwenden kann.