I haben eine Bibliothek, die diese Funktion enthält:Swift definieren Doppelzeiger für struct in C definiert
void create_pointer(Pointer **pointer);
es ein Zeiger des Zeigers nimmt und weist Speicher dafür. in c kann ich es so machen
Pointer *pointer;
create_pointer(&pointer);
dann habe ich eine Zeigerinstanz.
Aber jetzt möchte ich diese Funktion in Swift verwenden. Wie?
Ich habe keine Informationen über Pointer, ich weiß nur, es ist eine Struktur, wie diese
definierttypedef struct Pointer Pointer;
Keine davon scheint Objective-C verwandt zu sein oder aus den Frameworks von Apple zu stammen. Swift ist eine Schicht über der Objective-C-Laufzeit, sodass Bibliotheken von Drittanbietern nicht direkt kompatibel sind. – Erik
Ganz und gar nicht einverstanden, Swift ist eine Ebene über der Objective-C-Laufzeit, ich denke, es hat eine eigene Laufzeit und Call-over-Language ist das wichtigste Merkmal der modernen Sprache. – galilio
Swift hat Komponenten, aber alle greifen auf die bestehende Obj-C-Laufzeit zu. Ich stimme deinem Standpunkt zu und würde Swift gerne auf anderen Plattformen sehen, aber ... das passiert nicht bald. Um fair zu sein, Apple hat die Obj-C-Laufzeit seit einiger Zeit Open Source. Es ist nur so, dass die ** Frameworks **, die andere entwickelt haben, nicht ganz so gut sind wie die Angebote von Apple auf Mac/iOS. – Erik