Swift 3 NSPopUpButton (Menü) Textfields werden nicht mehr aktualisiert

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

  • Swift 3 NSPopUpButton (Menü) Textfields werden nicht mehr aktualisiert

    Hallo,

    über nachfolgenden Sachverhalt grüble ich nun schon eine Weile und finde irgendwie keinen Anhaltspunkt an dem ich mit der Suche nach einer Lösung beginnen könnte. Fehlermeldungen erhalte ich nicht.

    In einem ViewController habe ich ein Menü mittels NSPopUpButton realisiert. Dieses befüllt je nach ausgewähltem Eintrag verschiedene Textfelder (NSTextfield). Für das Aktualisieren der Textfelder nutze ich representedObject(), diese wird automatisch nach der Auswahl eines Menüeintrages aufgerufen. Dies funktioniert mit weiteren Menüeinträgen solange ich nicht zwischendurch eines dieser Textfelder ausgewählt habe. Wenn dies der Fall ist, kann ich zwar noch weiterhin Menüeinträge auswählen aber die Aktualisierung der Textfelder wird nicht mehr durchgeführt.

    Hat jemand eine Idee oder einen guten Rat woran dies liegen könnte?

    Vielen Dank.
  • Wird die Action vom NSPopUpButton bzw. der NSMenuItems bei der Auswahl aufgerufen?

    Verwendest Du Nil-Targeted Actions oder Actions mit fixem Target?

    Bei Nil-Targeted Actions ist natürlich ein aktives NSTextfield der First Responder und ich meine der ViewController kommt dann nicht in der Responder Chain vor. Somit wird bei einem aktivem NSTextfield der ViewController nicht als Target ermittelt.
  • MCDan schrieb:

    Wird die Action vom NSPopUpButton bzw. der NSMenuItems bei der Auswahl aufgerufen?

    Verwendest Du Nil-Targeted Actions oder Actions mit fixem Target?

    Bei Nil-Targeted Actions ist natürlich ein aktives NSTextfield der First Responder und ich meine der ViewController kommt dann nicht in der Responder Chain vor. Somit wird bei einem aktivem NSTextfield der ViewController nicht als Target ermittelt.
    Zu Deinen Fragen:
    1: Ja
    2: Ja

    Hmmm, das klingt sehr plausibel.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von OSXDev ()

  • MCDan schrieb:

    Zu 1 sollte dann wohl eher manchmal sein, oder wird die Action auch aufgerufen, wenn ein NSTextfield aktiv ist? :D
    ?( Wie meinst Du dies? Die Action wird aufgerufen immer wenn eine Auswahl (neues NSMenuItem) selektiert wurde. Das NSTextfield nutzte ich für die Aus- und Eingabe der zuvor getroffenen Auswahl bzw. deren Update. Beim Update wird das NSTextfield selektiert und der enthaltene Wert korrigiert und danach konnte die Aktualisierung bei einer neu getroffenen Auswahl nicht mehr durchgeführt werden!

    Es lag wie von Dir vermutet an der Responder-Chain. Ich dachte eigentlich das die Objekte innerhalb es ViewControllers automatisch diesem zugeordnet werden. Ist jedoch nicht der Fall. Nachdem ich es korrigiert habe läuft alles problemlos. :thumbsup: