Übergeben Sie C-Sprache char * an Swift

Machen

Gibt char * in C-Sprache zurück und wird schnell als String behandelt

Szene

Nachdem ich HelloFrameWork (Cocoa Touch Framework) erstellt habe, möchte ich die darin enthaltenen Methoden von Swift verwenden.

C Sprache

hello.h sollte ein öffentlicher Header in Xcode sein

hello.h


#ifndef HELLO_H
#define HELLO_H

char* getHello();

#endif

hello.c


char* getHello() {
    return strdup("Hello");
}

swift

let hello_char = getHello()
let hello: String = String(cString: hello_char)
//Speicherfreigabe
free(hello_char)

Referenz

Offizielles Dokument mit Swift mit Kakao und Object-C

Nachtrag

Die Verwendung von strdup () scheint auch nicht schön zu sein. Um besser schreiben zu können, sollten Sie auf der schnellen Seite ein Zielargument angeben und einen Wert eingeben.

Recommended Posts

Übergeben Sie C-Sprache char * an Swift
Behandle C char ** gut mit Swift
Konvertieren Sie das 2D-Array von Swift in das 2D-Array von C.
Konvertiert vom String-Zeiger der C-Sprache zum Swift-String-Typ
Port C-Code mit vielen Typecasts zu Swift
Übergeben Sie Variablen an Scope.
Übergeben Sie die Parameter an Rails link_to
[Swift5] So kommunizieren Sie von ViewController zu Model und übergeben einen Wert
Ich habe versucht, C # (Indexer) zu kauen.
Einführung in die schnelle Übungsausgabe Kapitel 5
Übergeben Sie das Gebietsschema i18n an JavaScript
So übergeben Sie Oracle Java Silver
[Swift] So ersetzen Sie mehrere Zeichenfolgen
C # (Polymorphismus: Polymorphismus)
Rufen Sie C-Sprachfunktionen von Swift aus auf