Ich verstehe, wie Delegierung mit iOS-Objekten verwendet wird, die bereits vorhanden sind. Wenn ich beispielsweise eine Instanz von UITableView erstelle und mein View-Controller dem UITableView-Delegaten entspricht, kann ich die verschiedenen Methoden des UITableView-Delegaten implementieren. Meine neu erstellte Tabelle kann Benachrichtigungen empfangen, zum Beispiel wenn didSelectRowAtIndexPath aufgerufen wird.Wie funktioniert die iOS-Delegation?
Meine Frage ist, warum hat meine Tabelle diesen bestimmten Delegaten Rückruf erhalten? Ich verstehe, dass der Delegat nur eine Liste von Methoden ohne Implementierung ist. Es scheint mir, dass da noch viel mehr passieren muss. Was passiert wirklich "hinter den Kulissen"?
Bild, wenn ich alle Delegatmethoden der folgenden umbenennen: - mysteryMethod1 - mysteryMethod2 - mysteryMethod3 ... Etc Eines dieser Verfahren ist verantwortlich für die an einem bestimmten Index die Höhe einer Zeile zu setzen. Ein anderer dieser Methoden wird für die Bearbeitung einer bestimmten Zeile verantwortlich sein.
Alles, was ich über Delegierung gelesen habe, sagt, dass der Delegierende einen Vertrag mit dem Delegierten schließt. Der Delegierte verspricht, die Methoden zu implementieren. Wenn das der Fall ist, ist alles irgendwie richtig verkabelt und alles funktioniert wunderbar. Was ist die Magie, die ich nicht sehe?
Es gibt Tausende von Tutorials, die erklärt, wie Delegate funktioniert, eine der zufälligen Erklärungen ist z. [hier] (https://www.natashatherobot.com/explaining-ios-delegates-a-story-about-your-morning-coffee/). – holex