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
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