Wie funktioniert iOS Swift-Runtime arbeiten

In ObjC ist es mit Messaging, static binding, dynamic typing, dynamic binding, dynamic method resolution, dynamic loading, introspector und so weiter.

Allem die core-Methode objc_msgSend ist verantwortlich für die Aufnahme der Selektor, den Sie senden, und das Objekt, Sie senden es an, und schaut sich in der Klasse-Methode-Tabellen, um genau herauszufinden, welches Stück code sollte es zu handhaben.

Meine Bedenken hier sind:

  1. Ist Swift etwas ähnliches wie ObjC auf Laufzeit?

  2. Wie funktioniert Swift runtime finden Sie den code zur Implementierung für ein Objekt/Klassen-Methode?

  3. In ObjC, classes und objects kompiliert werden einige runtime types wie C struct auf Laufzeit. Was sollen dann solche classes und objects kompiliert zur Laufzeit in Swift?

  4. Tut Swift runtime so etwas wie class /meta class /isa pointer /super pointer?

  • Können Sie ein Beispiel geben?
  • Was ich antwortete, ist in Bezug auf #1 & #2. In Bezug auf #3 & #4 ich bin mir sicher, dass die Swift hat definitiv etwas, aber das ist nicht stabilisiert. Zunächst gab es Pläne zur Stabilisierung ABI im Swift-3.0-Version, aber Flugzeuge geändert werden: infoq.com/news/2016/05/swift-3-no-stable-abi
InformationsquelleAutor Boris | 2016-05-19
Schreibe einen Kommentar