Ausgabe
In einem Blogbeitrag habe ich gerade gelesen:
„Mit Swift können wir Klassen von NSObject erweitern, um Objective-C-Laufzeitfunktionen für ein Objekt zu erhalten. Es ermöglicht uns auch, Swift-Methoden mit @objc zu kommentieren, damit die Methoden von der Objective-C-Laufzeit verwendet werden können.’
Ich verstehe den Begriff Objective-C-Laufzeitfunktionen nicht. Bedeutet das, dass der Code auch in einem Objective-C-Projekt verwendet werden könnte?
Lösung
Zitieren der Apple-Dokumentation
Die Objective-C-Laufzeit ist eine Laufzeitbibliothek, die Unterstützung für die dynamischen Eigenschaften der Objective-C-Sprache bereitstellt und als solche mit allen Objective-C-Apps verknüpft ist. Unterstützungsfunktionen für Objective-C-Laufzeitbibliotheken sind in der gemeinsam genutzten Bibliothek unter /usr/lib/libobjc.A.dylib implementiert.
Diese API ist hauptsächlich für die Entwicklung von Brückenschichten zwischen Objective-C und anderen Sprachen oder für das Low-Level-Debugging nützlich. Sie müssen es höchstwahrscheinlich nicht verwenden.
Selbst wenn sie ohne eine einzige Zeile Objective-C-Code geschrieben wurde, wird jede Swift-App innerhalb der Objective-C-Laufzeit ausgeführt, sodass Sie darauf zugreifen können.
Sie können Dinge wie Swizzling tun
Beantwortet von – Papershine
Antwort geprüft von – Cary Denson (FixError Admin)