Controller-Methode, die normalerweise von einem Button aufgerufen wird, händisch aufrufen

  • Nein, es tut nicht so. Hatte ich bereits erwähnt, dass bei dir etwas grundsätzlich falsch läuft?
    Wir können dsa jetzt weiter führen. Ich sehe darin keinen Sinn.

    Es ist vertretbar, jedoch nachteilig, das Model mit einer Verbindung zum UI zu versehen, da du dich dann auf das UI festlegst. Mit Copy & Paste und Find & Replace dürfte der Aufwand auch gering sein. Vor allem in aller Regel geringer, als jedesmal ein NSNumber-Objekt zu bauen, welches dann wieder gleich in einenInt umgewandelt wird. Das ist doch völlig von hinten durch die Brust ins Auge.

    Ja, es gehört zum Thema Cocoa-Bindngs. Du kannst die von einem Button aufgerufene Methode eingeben (Target-Binding) und auch die übergebenen Parameter (Parameter-Binding). dann benötigst du keine Action-Methoden mehr. Ich halte das hier aber nicht für angebracht und auch nicht für weniger aufwendig.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Original von Agrajag
    Aber mich würde dennoch interessieren, warum es nicht mit

    Quellcode

    1. [sender isKindOfClass:[NSNumber class]]

    funktioniert und warum die Frage nach

    Quellcode

    1. [sender respondsToSelector:@selector(selectedTag)]

    positiv verläuft, was eigentlich nicht sein dürfte.

    Ich habe mir das jetzt noch einmal im Debugger genau angeschaut. In der Methode enterNumber: gibt

    Quellcode

    1. [sender isKindOfClass:[NSNumber class]]
    wie erwartet YES zurück und verzweigt entsprechend. Krachen tut es erst später im switch/case Konstrukt im default Zweig. Da schickst Du dem sender gnadenlos ein selectedTag, auch wenn NSNumber als sender übergeben wurde. Das Ergebnis ist die bekannte Fehlermeldung.

    Michael
  • Hä? Ich hab das jetzt noch mal mit isKindOfClass: probiert und jetzt läuft das?!? Ich hatte eigentlich nichts großartig geändert. Computer-Voodoo.

    Ja, das mit dem selectedTag hab ich auch gerade gesehen (und geändert). Allerdings ist er vorher schon immer am Anfang ausgestiegen, weil die erste if-Anweisung (isKindOfClass) NO geliefert hat, aber der else-if-Zweig YES, aber das NSNumber-Objekt doch nicht selectedTag verstand.

    Ich hab absolut keine Ahnung, warum das jetzt plötzlich läuft, denn ich hab, wie gesagt, eigentlich keine Änderungen mehr seit heute mittag vorgenommen.

    Ich werde das Programm aber noch mal vernünftiger aufziehen und mal gucken.