ClickEvents, oder wie werden Buttons beim Klick behandelt?

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

  • ClickEvents, oder wie werden Buttons beim Klick behandelt?

    Guten Morgen,

    bisher habe ich immer in Java programmiert und da wurden die Klicks auf Buttons über ClickEvents abgehandelt.
    Vor einiger Zeit habe ich ein Buch über C# und WPF gelesen und da wird alles über Commands und nicht mehr über die ClickEvents gemacht.

    Könnte mir jemand eine Aussage geben, wie das ganze bei Swift ausschaut? Gibt es da auch ein anderes Verfahren, um ClickEvents zu erstellen?
  • Hallo @swiftatriga

    ich bin auch noch sehr neu hier und ein Anfänger in Swift, aus diesem Grunde bin ich mir nicht sicher ob ich Deine Frage richtig verstehe.
    Ich probiere es aber mal mit dem was ich dazu glaube verstanden zu haben.

    Wenn Du im Xcode z.B. im Storyboard (Main.storyboard) einen Button hinzufügst, kannst Du hierzu eine Aktion im ViewController erstellen --> Ctrl halten und ziehen von Main.stoyboard in ViewController.

    Hier wird dann eine Funktion erstellt, welche ausgeführt wird wenn der Button gedrückt wird, oder ggf. etwas anderes gemacht wird mit dem Element.

    Quellcode

    1. @IBAction func clearButton_Tapped(_ sender: UIButton) {
    2. clearCalculator()
    3. }
    In dem obigen Beispiel wird z.B. in einer Taschenrechner App die Funktion clearCalculator() aufgerufen wenn der clearButton (C) gedrückt wird.

    Weitere Informationen zu den Buttons findet man auch immer in der Xcode Dokumentation:

    SwiftUI --> View and Controls --> Button

    Vielleicht hat Dir das ein wenig geholfen :) falls ich totalen Müll geschrieben habe wird bestimmt einer der vielen Wissenden in diesem Forum einschreiten.

    Gruß

    Ralf
  • ralfb schrieb:

    Vielleicht hat Dir das ein wenig geholfen :) falls ich totalen Müll geschrieben habe wird bestimmt einer der vielen Wissenden in diesem Forum einschreiten.
    Keine Korrektur, nur etwas Ergänzendes:

    Das Prinzip, eine Methode mit entsprechender Signatur als Aktion zu hinterlegen, zieht sich durch ganz AppKit (macOS) bzw. UIKit (iOS) ... es hat weniger mit der verwendeten Programmiersprache wie Objective-C oder Swift, sondern mehr mit den Frameworks zu tun.

    Aktionen werden nicht nur für Control-Events verwendet, sondern zum Beispiel auch beim Empfangen von Notifications, sei es bei „Systemereignissen“ wie z. B. dem Wechsel in den Hintergrund oder bei eigenen Benachrichtigungen. Interessant in diesem Zusammenhang vielleicht, dass bei Actions das entsprechende UI-Element als Parameter („sender“) übergeben wird, und dass man Actions dynamisch im Code setzen kann...

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • ralfb schrieb:

    Hallo @swiftatriga

    ich bin auch noch sehr neu hier und ein Anfänger in Swift, aus diesem Grunde bin ich mir nicht sicher ob ich Deine Frage richtig verstehe.
    Ich probiere es aber mal mit dem was ich dazu glaube verstanden zu haben.
    Keine Bange, jeder ist an verschiedenen Stellen Anfänger. Es gibt zumeist kein Richtig oder Falsch, sondern ist einfach abhängig vom aktuellen Kontext...

    Ich würde jetzt hier nicht UIKit als gegeben voraussetzen, sondern einfach mal Fragen, mit was arbeitet der TO?

    Je nach Antwort, gibt es Antworten mit denen der TO was anfangen kann oder eben nicht.
    Beispiel bei mir, wenn der TO sagt er schafft mit ObjektiveC oder mit UIKit, dann muss ich passen...
    in anderen Fällen kann ich ggf. weiterhelfen, dafür ein anderer nicht...

    Ausserdem gibt's grosse unterscheide zwischen den Swift Versionen, daher wäre es nicht schlecht, wenn du die Version angibst, unter der du entwickelst...

    Schöne Grüsse
    Wolf
  • Wolf schrieb:

    Ausserdem gibt's grosse unterscheide zwischen den Swift Versionen, daher wäre es nicht schlecht, wenn du die Version angibst, unter der du entwickelst...
    Würdest Du einmal erläutern, was das Prinzip der Actions und Responder-Chain mit Swift zu tun hat? Oder wie Du bei der Frage nach ClickEvents von Buttons auf "data-driven apps" kommst?

    Irgendwie vermisse ich den Zusammenhang zwischen Deinen Antworten und den Fragen...

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • MyMattes schrieb:

    Das Prinzip, eine Methode mit entsprechender Signatur als Aktion zu hinterlegen, zieht sich durch ganz AppKit (macOS) bzw. UIKit (iOS) ... es hat weniger mit der verwendeten Programmiersprache wie Objective-C oder Swift, sondern mehr mit den Frameworks zu tun.
    Korrekt. Und in SwiftUI ist es komplett anders. :)
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P