↪ Ralf Ebert
↪ iOS Entwickler-Blog: Artikel und Tutorials
iOS Training - iOS Schulung - Swift Training - Swift Schulung

Tutorial: Methoden umbenennen und IBAction-Verbindungen lösen

  1. Verwende das Projekt Dice aus dem Tutorial: Beispielprojekt „Dice“ - falls Du das Tutorial nicht durchgearbeitet hast, kannst Du das Beispielprojekt herunterladen.

  2. Öffne den DiceViewController und benenne die Action-Methode rollDice einmal manuell ohne Refactoring im Code um (z.B. zu rollTheDice).

    1. Starte die App und tappe den Button. Es sollte ein SIGABRT-Crash der App, der vom Debugger gefangen wird, auftreten. Scrolle auf der Konsole zu der eigentlichen Fehlermeldung -[Dice.DiceViewController rollDice:]: unrecognized selector sent to instance :

      Fehlermeldung unrecognized selector sent to instance

      Du kannst aus der Fehlermeldung erkennen, dass versucht wurde auf dem DiceViewController-Objekt weiterhin die Methode rollDice aufzurufen, diese nun jedoch nicht mehr existiert (unrecognized selector ist ein Begriff aus Objective-C: Die Signatur einer Methode wird als Selector bezeichnet).

    2. Klicke im Storyboard mit der rechten Maustaste / mit gedrückter Ctrl-Taste auf den Button und löse im Connections Inspector die bestehende Verbindung:

      Lösen einer Outlet-Verbindung im Connections Inspector
    3. Ziehe eine neue Verbindung zu der soeben umbenannten Methode und teste, dass die App nun wieder korrekt funktioniert.

    4. Benenne die Methode via Refactor » Rename zurück zu ihrem ursprünglichen Namen rollDice - dabei wird auch die Verknüpfung im Storyboard mit aktualisiert:

      Refactor - Rename