Verständnisfrage zu Delegates

  • Verständnisfrage zu Delegates

    Moin,

    Ich habe eine kleine Verständnisfrage zu Delegates. Sie sind ja eigentlich Standard in der Iphone und Objective-C Prrogrammierung und bis jetzt habe ich sie auch einfach blind übernommen und einer das gemacht was gefragt war.

    Aber meine Frage ist nun, wozu dienen sie eigentlich genau? Kann man sie mit Interfaces bei Java vergleichen? Bis jetzt habe ich sie mir immer so erklärt , dass wenn man in der Header Datei ein Delegate "angibt", man dann evtl diese Klasse regelkonform zu diesem Delegate schreibt, sprich eine andere Klasse greift darauf zu und "kann sich sicher sein", dass evtl benötigte Methoden dort implementiert sind. Erstelle ich zB einen Tableview und weise ihm einen Viewcontroller zu. in dem im Header File <UITabelViewDelegate,UITableviewDataSource> steht , kann ich das Programm nicht starten da er ohne Implementierung bestimmter Methoden eine Menge Fehler ausgibt. Da würde es dann Sinn für mich machen, aber bei manchen Delegates, die man im HeaderFile angibt,läuft das Programm auch ohne eine einzig implementierte Methode.

    Ich hoffe ihr könnt meine Frage verstehen ;)
  • nicht unbedingt nur benachrichtigen.

    es geht eher darum dass zb ein tableview beim delegate (falls eines definiert ist) bestimmte sachen nachfragt (zb ob die selektion geändert werden darf) oder meldet (zb dass die selektion geändert wurde). das ganze macht sie natürlich nur wenn das delegetate die methoden auch implementiert hat.
  • Zur Suche: Ich mache inzwischen auf ganz vielen Seiten "Suchbegriffe site:URL" in Google.

    Ansonsten wundert es mich, dass diese Fragen häufiger aufkommen. Eigentlich sollte das in der Literatur angesprochen werden.
    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"?