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.