Ich arbeite an einem Projekt, bei dem ich eine objektive Anwendung mit Swift-Code erweitern muss. Also muss ich aus einer .m-Datei auf den Swift-Code zugreifen.
Ich habe die generierte Swift.h-Datei importiert und habe jetzt Zugriff auf die Methoden, aber nicht auf die globalen Variablen.
Ist das möglich?
Danke!
Laut Apples Dokumente auf Swift und Objective-C-Kompatibilität die Antwort ist nein:
Wenn Sie eine Swift-Klasse erstellen, die von einer Objective-C-Klasse abstammt, sind die Klasse und ihre Member - Eigenschaften, Methoden, Indizes und Initialisierer -, die mit Objective-C kompatibel sind, automatisch von Objective-C verfügbar. Dies schließt Swift-only-Funktionen aus, z. B. die hier aufgeführten:
- Generika
- Tupel
- In Swift definierte Aufzählungen ohne
Int
Rohwerttyp- In Swift definierte Strukturen
- Funktionen auf oberster Ebene, die in Swift definiert sind
- In Swift definierte globale Variablen
- Typealiases, die in Swift definiert sind
- Swift-style variadics
- Verschachtelte Typen
- Curry-Funktionen
Tags und Links objective-c swift global