Kapitel 13. Messaging
Der Objective-C-Nachrichtenmechanismus ist von Grund auf dynamisch. Nachrichten werden erst zur Laufzeit an eine Methodenimplementierung gebunden.
Bei der Kompilierung werden die Nachrichtennamen durch Selektoren ersetzt. Empfänger, Selektor und Argumente werden genutzt, um die Nachricht in einen Aufruf der Runtime-Funktion objc_msgSend()
umzuwandeln. objc_msgSend()
sucht dann zur Laufzeit den Code, der die Methodenimplementierung stellt, ruft diesen auf und übergibt ihm die Argumente. Zusätzlich erhält der Code den Empfänger und den Selektor (in Form von self
und _cmd
). Dieser Vorgang nimmt notwendigerweise mehr Zeit in Anspruch, als sie ein direkter Funktionsaufruf benötigen würde. Das kann man an für die Leistung kritischen ...
Get Objective C kurz & gut 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.