3.4 Dynamische Bindung
Sehen wir uns an, was hinter den Kulissen passiert, wenn eine Objective-C-Nachricht gesendet wird. Der einfachste Fall ist hier zu sehen:
[myWebView goBack]
Das wird zur Laufzeit in den folgenden Funktionaufruf übersetzt:
objc_msgSend(myWebView, goBack)
Der Empfänger wird als erstes Argument übergeben, der Selektor als zweites. Hier die etwas kompliziertere Nachricht:
[myWebView searchFor:myString direction:YES caseSensitive:NO wrap:YES]
Das wird zur Laufzeit in diesen Funktionsaufruf umgewandelt:
objc_msgSend(myWebView, searchFor:direction:caseSensitive:wrap:, myString, YES, NO, YES)
Erneut wird der Empfänger im ersten und der Selektor im zweiten Argument angegeben. Die Parameter werden als weitere Funktionsargumente übergeben. ...
Get Cocoa-Programmierung now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.