Wie benutze ich Objective-C Projekt in meinem Swift Projekt

9

Hinweis: Ich weiß So rufen Sie Objective-C-Code von Swift , aber ich weiß nicht,

Ich bin neu bei ios. Ich möchte diese EsptouchForIOS-Demo in meinem Projekt verwenden. Die Demo ist in OC geschrieben, es hat ein Storyboard und Controller. Ich möchte wissen, wie man die Demo in mein schnelles Projekt integriert und dieses Storyboard und seinen Controller in meinem schnellen Projekt verwendet.

    
Kris Roofe 04.08.2017, 08:06
quelle

3 Antworten

10

Ich werde von Anfang an anfangen zu schreiben. Angenommen, Sie haben ein Projekt in Objective-C und möchten nun die Entwicklung Ihres Projekts in Swift fortsetzen. Befolgen Sie die folgenden Richtlinien: (Dies entspricht Ihren spezifischen Anforderungen)

Wählen Sie zunächst eine neue Datei aus Datei- & gt; Neu- & gt; Datei . Wählen Sie in diesem Prozess Ihre Sprache als Schnell aus. Im letzten Schritt werden Sie zu Create Bridging Header aufgefordert. Wähle das aus:

Erstellen Sie jetzt Ihr Projekt einmal ( + B ). Möglicherweise erhalten Sie einen Fehler wie folgt:

Ändern Sie die minimale Bereitstellung Ihres Ziels auf die Version, die Swift unterstützt. (Beispiel im folgenden Screenshot)

So verwenden Sie Objective-C-Ressourcen in Swift-Dateien:

Jetzt haben Sie eine ProjectName-Bridging-Header.h Datei in Ihrem Projekt. Wenn Sie eine Objective-C-Klasse in Ihren Swift-Dateien verwenden möchten, fügen Sie einfach die Header-Datei dieser Klasse in diese Bridging-Header-Datei ein. Wie in diesem Projekt haben Sie auch ESP_NetUtil und ESPViewController class und ihre Header-Dateien. Sie möchten Swift entlarven und später im Swift-Code verwenden. Importieren Sie sie also in diese Bridging-Header-Datei:

Build noch einmal. Jetzt können Sie zu Ihrer Swift-Datei gehen. Und verwende die Objective-C-Klassen so, wie du jede Ressource in swift benutzt. Siehe:

  

N. B: Sie müssen alle Klassenheader (die Sie später in Swift verwenden möchten) in dieser Bridging-Headerdatei verfügbar machen

Um Swift-Ressourcen in Objective-C-Dateien zu verwenden:

Nun wundert ihr euch, ich habe in Swift erfolgreich Objective-C-Ressourcen verwendet. Was ist mit dem Gegenteil? Ja! Sie können auch das Gegenteil tun. Finde deine Target->Build Settings->Swift Compiler - General->Objective-C Generated Interface Header Name . Dies ist die Header-Datei, die Sie innerhalb Ihrer Objective-C-Klassen für jede Swift to Objective-C Interoperabilität verwenden werden. Um mehr zu wissen, hier .

Importieren Sie nun innerhalb Ihrer Objective-C-Klasse diesen Schnittstellenheader und verwenden Sie Swift-Ressourcen in Objective-C-Code:

Weitere Informationen erhalten Sie in der offiziellen Apple-Dokumentation .

  

Sie können die ausgearbeitete Version Ihres verknüpften Projekts hier mit% co_de auschecken % - Objective-C Interoperabilität.

    
nayem 07.08.2017, 05:47
quelle
2

Sie haben Ihrer Frage entsprechend eine objektive C-Brücke in Ihrem schnellen Projekt hinzugefügt, indem Sie So rufen Sie den Objective-C-Code von Swift auf.

Importieren Sie jetzt alle Headerdateien (.h) Ihres Ziel-c-Quellcodes (Demoprojekt), die Sie direkt in swift-Datei verwenden möchten.

Ihr Beispielprojekt hat beispielsweise EsptouchForIOS folgende Kopfzeilen (Datei mit der Erweiterung .h) im Projektquellcode.

ESPAppDelegate.h, ESPDataCode.h, ESPTouchDelegate.h

Importieren Sie eine Header-Datei in Ihre Bridge, die Sie in Ihrem Swift-Code verwenden möchten. Angenommen, Sie möchten in Ihrem schnellen Code delegieren ESPTouchDelegate und dann schreiben,

%Vor%

Hier ist ein Schnappschuss Ihrer Demo-Integration in meinem Test Swift-Projekt mit Bridge

und Importieren von Anweisungen.

Nun gibt es Funktion / Methode in einer objektiven C-Datei getValue

wird in swift project / file verwendet / zugegriffen.

Ebenso können Sie so viele Dateien (Quellkopfzeilen) wie in Bridge importieren und dieselben Dateien (Quellcode) in swift verwenden.

    
Krunal 07.08.2017 01:44
quelle
2

Ich habe nie versucht, objective-c von swift project zu verwenden. Aber ich habe normalerweise schnelle Klassen aus meinem Ziel-C-Projekt benutzt. Ich folge normalerweise dieser Anleitung Ссылка von der Apple Developer Website.

>     
Nyein Ei Ei Tun 11.08.2017 09:37
quelle